{"id":46923,"date":"2024-10-19T17:30:13","date_gmt":"2024-10-19T14:00:13","guid":{"rendered":"https:\/\/wpadmin.maktabkhooneh.org\/mag\/?p=46923"},"modified":"2026-04-13T15:26:23","modified_gmt":"2026-04-13T11:56:23","slug":"create-weblog-with-django","status":"publish","type":"post","link":"https:\/\/maktabkhooneh.org\/mag\/create-weblog-with-django\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645"},"content":{"rendered":"\n<p>\u0633\u0627\u062e\u062a \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u06cc\u06a9\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u062f\u0646\u06cc\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0648 \u0645\u062d\u0628\u0648\u0628 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0628\u0647\u200c\u0633\u0631\u0639\u062a \u0648 \u0628\u0627 \u0628\u0647\u0631\u0647\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0635\u0648\u0644 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627\u060c \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0648 \u067e\u0648\u06cc\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. Django \u0628\u0627 \u0641\u0631\u0627\u0647\u0645 \u06a9\u0631\u062f\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u060c \u0627\u0645\u0646\u06cc\u062a \u0628\u0627\u0644\u0627 \u0648 \u062a\u0648\u0633\u0639\u0647 \u0633\u0631\u06cc\u0639\u060c \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0627\u06cc\u062f\u0647\u200c\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u0627\u0646\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0648\u0627\u0642\u0639\u06cc\u062a \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631\u060c \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0645\u062d\u062a\u0648\u0627\u060c \u062c\u0633\u062a\u062c\u0648\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u060c \u0648 \u0637\u0631\u0627\u062d\u06cc \u0638\u0627\u0647\u0631\u06cc \u0632\u06cc\u0628\u0627\u060c \u0628\u0647\u200c\u0633\u0627\u062f\u06af\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0648\u0628\u0644\u0627\u06af\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u0646\u0647 \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u0628\u0631\u067e\u0633\u0646\u062f \u0628\u0627\u0634\u062f\u060c \u0628\u0644\u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f\u0647\u0627\u06cc \u0631\u0648\u0632 \u062f\u0646\u06cc\u0627\u06cc \u0648\u0628 \u0646\u06cc\u0632 \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<p>\u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062c\u0646\u06af\u0648 (Django) \u0627\u0633\u062a. \u062f\u0627\u0634\u062a\u0646 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0627 \u062c\u0646\u06af\u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0645\u0641\u06cc\u062f \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u0636\u0631\u0648\u0631\u06cc \u0646\u06cc\u0633\u062a \u0686\u0648\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0627\u06cc \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0627\u0632 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 \u062a\u0647\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u06a9\u062f VS Code \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0645\u0627 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u06a9 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645\u060c \u0627\u0645\u0627 \u0645\u0631\u0627\u062d\u0644 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632 \u0648 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u062a\u0641\u0627\u0648\u062a \u0632\u06cc\u0627\u062f\u06cc \u0646\u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0627\u0632 Tailwind CSS \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0627\u06cc\u0644\u200c\u062f\u0647\u06cc \u0648 \u0686\u0646\u062f \u0627\u0628\u0632\u0627\u0631 \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u06a9\u0647 \u062f\u0631 \u0637\u0648\u0644 \u0622\u0645\u0648\u0632\u0634 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f.<\/p>\n\n\n\n<p><strong>\u06a9\u062f \u0646\u0647\u0627\u06cc\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062f\u0631 \u06af\u06cc\u062a\u200c\u0647\u0627\u0628 \u0648 \u062f\u0631 \u0644\u06cc\u0646\u06a9 \u0632\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a<\/strong><strong>:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/damoo17\/Blogpostproject1\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/github.com\/SavFreire\/Blogpostproject1<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0634\u0631\u0648\u0639 \u067e\u0631\u0648\u0698\u0647 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h2>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648\u060c \u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u0645\u0646 \u067e\u0648\u0634\u0647 \u062e\u0648\u062f \u0631\u0627 blog \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u06a9\u0631\u062f\u0647\u200c\u0627\u0645. \u06cc\u06a9 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 (\u06cc\u0627 Command Prompt \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632) \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u06cc\u06a9\u06cc \u06cc\u06a9\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install virtualenv\nvirtualenv env\nsource env\/bin\/activate # this command might be different on windows\npip install django\npip freeze &gt; requirements.txt\ndjango-admin startproject blogpost .<\/pre>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0627\u0635\u0644\u06cc \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n<p>\u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u0645\u062c\u0627\u0632\u06cc\u060c \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u0627\u06cc\u0632\u0648\u0644\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc \u0627\u0632 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f\u060c \u0627\u0628\u062a\u062f\u0627 pip install virtualenv \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631 virtualenv \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 (source env\/bin\/activate).<\/p>\n\n\n\n<p>\u0633\u067e\u0633 \u062c\u0646\u06af\u0648 \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 pip install django \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 pip freeze &gt; requirements.txt \u0641\u0647\u0631\u0633\u062a \u0628\u0633\u062a\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 requirements.txt \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<p>\u0622\u062e\u0631\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 django-admin startproject blogpost . \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u0646\u06af\u0648 \u0628\u0627 \u0646\u0627\u0645 \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0641\u0639\u0644\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0645\u0646 \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 blogpost \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u06a9\u0631\u062f\u0645 \u062a\u0627 \u0628\u0627 \u067e\u0648\u0634\u0647 blog \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0628\u0648\u062f\u060c \u0647\u0645\u062e\u0648\u0627\u0646\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0645\u0631\u062a\u0628 \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a\u200c\u0647\u0627\u06cc \u0627\u0648\u0644\u06cc\u0647 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h3>\n\n\n\n<p>\u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a\u200c\u0647\u0627 (Migrations) \u0628\u0627\u06cc\u062f \u0628\u0647 \u06cc\u06a9 \u0639\u0645\u0644 \u0622\u0634\u0646\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u0627\u06af\u0631 \u0647\u0646\u0648\u0632 \u062f\u0644\u06cc\u0644 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0646\u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f\u061b \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647\u060c \u0645\u0647\u0627\u062c\u0631\u062a\u200c\u0647\u0627 \u0631\u0627\u0647\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062c\u0646\u06af\u0648 \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0639\u0645\u0627\u0644\u200c\u0634\u062f\u0647 \u0628\u0631 \u0631\u0648\u06cc <strong>\u0645\u062f\u0644\u200c\u0647\u0627<\/strong><strong> (Models)<\/strong> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0647\u200c\u0632\u0648\u062f\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u0645\u062f\u0644\u200c\u0647\u0627 \u0628\u06cc\u0634\u062a\u0631 \u062a\u0648\u0636\u06cc\u062d \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f.<\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u06cc\u06a9\u06cc \u06cc\u06a9\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py migrate<\/pre>\n\n\n\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 dbsqlite3 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f \u06a9\u0647 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p>\u0633\u067e\u0633 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py runserver<\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0635\u0641\u062d\u0647 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u0622\u062f\u0631\u0633 http:\/\/127.0.0.1:8000 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627 (Apps)<\/h3>\n\n\n\n<p>\u0627\u06cc\u062c\u0627\u062f \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062f\u0631 \u062c\u0646\u06af\u0648 \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0634\u0627\u0645\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f views\u060c admin \u0648 models \u0627\u0633\u062a. \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0647 \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0686\u0646\u062f\u06cc\u0646 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u0646\u06af\u0648 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n\n\n<div class=\"jet-listing-grid--50121\" style=\"\"><div class=\"jet-listing-dynamic-field-block zht-maktab-khooneh-course cb-fb2qc30r\"data-is-block=\"jet-engine\/dynamic-field\"><div class=\"jet-listing-dynamic-field__content\" >\n<div class=\"course-card\">\n    <div class=\"course-card-img\">\n        <img decoding=\"async\" \n            data-src=\"https:\/\/media1.maktabkhooneh.org\/CACHE\/images\/courses\/images\/Designer_1403-08-07-142751583\/c326d8e915f22c2e0f96dc9d2c0e8067.webp?expire=4893471932&#038;token=33a753409e8c188cc6b40d7bc0553f8f&#038;md5=M6dTQJ6MGIzGtA17wFU_jw==\" \n            alt=\"\u0622\u0645\u0648\u0632\u0634 \u062c\u0646\u06af\u0648 Django\" \n            title=\"\u0622\u0645\u0648\u0632\u0634 \u062c\u0646\u06af\u0648 Django\" \n            width=\"100%\" \n            height=\"auto\"\n           \n         src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n    <\/div>\n\n    <div class=\"course-details\">\n        <a href=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-mk1287\/\" class=\"course-title\" target=\"_blank\" rel=\"noopener noreferrer\">\n            \u0622\u0645\u0648\u0632\u0634 \u062c\u0646\u06af\u0648 Django        <\/a>\n\n        <div class=\"course-price\">\n            \n                <span class=\"real-price\">\n                                            \u06f1,\u06f1\u06f9\u06f9,\u06f0\u06f0\u06f0                                    <\/span>\n\n                <span>\n                    <span class=\"discounted-price\">\n                        \u06f7\u06f5\u06f0,\u06f0\u06f0\u06f0                    <\/span>\n                    <span class=\"price-currency\">\u062a\u0648\u0645\u0627\u0646<\/span>\n                <\/span>\n\n                                    <div class=\"discount-percentage\">\n                        \u06f3\u06f7%                    <\/div>\n                \n                    <\/div>\n        <button class=\"course-cta-button\" data-course-url=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D9%86%DA%AF%D9%88-mk1287\/\">\n            \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062e\u0631\u06cc\u062f        <\/button>\n    <\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062c\u062f\u06cc\u062f\u060c \u0627\u0628\u062a\u062f\u0627 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0627 \u0641\u0634\u0631\u062f\u0646 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc ctrl + C \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f\u060c \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py startapp nameofapp<\/pre>\n\n\n\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0645\u0646 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py startapp posts<\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0647 \u067e\u0648\u0634\u0647 blogpost \u0628\u0631\u0648\u06cc\u062f \u0648 \u0641\u0627\u06cc\u0644 settings.py \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u067e\u0627\u06cc\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0631\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u062e\u0634 INSTALLED_APPS \u0628\u0631\u0633\u06cc\u062f \u0648 \u0646\u0627\u0645 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f (\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 posts \u06cc\u0627 \u0646\u0627\u0645 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f\u062a\u0627\u0646) \u0631\u0627 \u0628\u0647 \u0644\u06cc\u0633\u062a \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p>\u0628\u0627\u06cc\u062f \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSTALLED_APPS = [\n\n'django.contrib.admin',\n\n'django.contrib.auth',\n\n'django.contrib.contenttypes',\n\n'django.contrib.sessions',\n\n'django.contrib.messages',\n\n'django.contrib.staticfiles',\n\n'posts'&nbsp; # \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u0627\u0645 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\n\n]<\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0646\u0627\u0645 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u0644\u06cc\u0633\u062a\u060c \u062c\u0646\u06af\u0648 \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u062f.<\/p>\n\n\n<div class=\"jet-listing-grid--50192\" style=\"\"><style><\/style><section class=\"zht-related-post\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Article\" role=\"region\"\n  aria-label=\"Related article\">\n  <div class=\"zht-related-post-section-label\">\n    \u0645\u0637\u0627\u0644\u0628 \u0645\u0631\u062a\u0628\u0637\n  <\/div>\n  <img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/right-server-for-django-app-300x225.jpg.webp\" class=\"attachment-medium size-medium wp-post-image\" alt=\"\u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc \u062c\u0646\u06af\u0648 \u0686\u06cc\u0633\u062a\" srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/right-server-for-django-app-300x225.jpg.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/right-server-for-django-app-768x576.jpg.webp 768w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/right-server-for-django-app.jpg 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" title=\"\">\n  <a href=\"https:\/\/maktabkhooneh.org\/mag\/applications-of-django\/\" class=\"zht-related-post-title\" itemprop=\"headline\" target=\"_blank\">\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc \u062c\u0646\u06af\u0648 \u0627\u0632 \u0633\u0627\u062f\u0647 \u062a\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647<\/a>\n<\/section><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0645\u062f\u0644\u200c\u0647\u0627 (Models)<\/h3>\n\n\n\n<p>\u0645\u062f\u0644\u200c\u0647\u0627 \u0631\u0648\u0634\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u062c\u0646\u06af\u0648 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0622\u0646\u200c\u0647\u0627 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0634\u06cc\u0627\u0621 \u067e\u0627\u06cc\u062a\u0648\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0647\u0633\u062a\u06cc\u0645\u060c \u0645\u062f\u0644\u200c\u0647\u0627\u06cc \u0645\u0627 \u0646\u0645\u0627\u06cc\u0646\u062f\u0647 \u0645\u0648\u0627\u0631\u062f\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0627\u0631\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0648\u06cc\u0633\u0646\u062f\u06af\u0627\u0646\u060c \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0648 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0628\u0644\u0627\u06af.<\/p>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 models.py\u060c \u062a\u0627\u0628\u0639 get_user_model \u06a9\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0627\u0632 \u062c\u0646\u06af\u0648 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0645\u062f\u0644 \u06a9\u0627\u0631\u0628\u0631 \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 models \u062c\u0646\u06af\u0648 \u0631\u0627 \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.contrib.auth import get_user_model\n\nfrom django.db import models\n\nUser = get_user_model()<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u0645\u062f\u0644 Author<\/h4>\n\n\n\n<p>\u0645\u062f\u0644 \u0646\u0648\u06cc\u0633\u0646\u062f\u0647 \u0631\u0627 \u0628\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0633\u0627\u062f\u0647 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u061b \u062a\u0646\u0647\u0627 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645\u060c \u06cc\u06a9 \u0646\u0627\u0645 \u0648 \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u0648\u06cc\u0633\u0646\u062f\u0647 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Author(models.Model):\n\nuser = models.OneToOneField(User, on_delete=models.CASCADE)\n\nprofile_picture = models.ImageField()\n\ndef __str__(self):\n\nreturn self.user.username<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u0645\u062f\u0644 Category<\/h4>\n\n\n\n<p>\u0645\u062f\u0644 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u0639\u0646\u0648\u0627\u0646\u060c \u0632\u06cc\u0631\u0639\u0646\u0648\u0627\u0646\u060c \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0648\u0686\u06a9 (thumbnail) \u0648 \u06cc\u06a9 slug \u062f\u0627\u0631\u062f. slug \u06cc\u06a9 \u0634\u0646\u0627\u0633\u0647 \u06a9\u0648\u062a\u0627\u0647 \u0628\u0631\u0627\u06cc \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0642\u0637 \u0634\u0627\u0645\u0644 \u062d\u0631\u0648\u0641\u060c \u0627\u0639\u062f\u0627\u062f\u060c \u0632\u06cc\u0631\u062e\u0637\u200c\u0647\u0627 \u06cc\u0627 \u062e\u0637 \u062a\u06cc\u0631\u0647\u200c\u0647\u0627 \u0627\u0633\u062a \u0648 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0631 URL\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0628\u0647 \u062c\u0627\u06cc \u0622\u062f\u0631\u0633 http:\/\/127.0.0.1:8000\/posts\/1 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0622\u062f\u0631\u0633 http:\/\/127.0.0.1:8000\/post\/my-first-blog-post \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062e\u0648\u0627\u0646\u0627\u062a\u0631 \u0648 \u0632\u06cc\u0628\u0627\u062a\u0631 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc\u200c\u0631\u0633\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Category(models.Model):\n\ntitle = models.CharField(max_length=20)\n\nsubtitle = models.CharField(max_length=20)\n\nslug = models.SlugField()\n\nthumbnail = models.ImageField()\n\ndef __str__(self):\n\nreturn self.title<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u0645\u062f\u0644 Post<\/h4>\n\n\n\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0645\u062f\u0644 \u067e\u0633\u062a \u0631\u0627 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u0645\u062f\u0644 \u062f\u0627\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u0633\u062a\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0646\u06cc\u0632 \u062f\u0627\u0631\u062f. \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062f\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0627\u0645\u200c\u0647\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u0628\u0647\u200c\u062e\u0648\u0628\u06cc \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Post(models.Model):\n\ntitle = models.CharField(max_length=100)\n\nslug = models.SlugField()\n\noverview = models.TextField()\n\ntimestamp = models.DateTimeField(auto_now_add=True)\n\ncontent = models.TextField()\n\nauthor = models.ForeignKey(Author, on_delete=models.CASCADE)\n\nthumbnail = models.ImageField()\n\ncategories = models.ManyToManyField(Category)\n\nfeatured = models.BooleanField()\n\ndef __str__(self):\n\nreturn self.title<\/pre>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647 ManyToManyField \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u062c\u0646\u06af\u0648 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f: <a href=\"https:\/\/docs.djangoproject.com\/en\/4.0\/topics\/db\/examples\/many_to_many\/\" rel=\"nofollow noopener\" target=\"_blank\">ManyToManyField<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a\u200c\u0647\u0627 (Migrations)<\/h3>\n\n\n\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0639\u0645\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u0645\u062f\u0644\u200c\u0647\u0627\u060c \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ctrl + C \u0628\u0628\u0646\u062f\u06cc\u062f \u0648 \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py makemigrations\n\npython manage.py migrate<\/pre>\n\n\n\n<p>\u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u062a\u063a\u06cc\u06cc\u0631\u06cc \u062f\u0631 \u0645\u062f\u0644\u200c\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u0627\u0639\u0645\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/p>\n\n\n<div class=\"jet-listing-grid--50192\" style=\"\"><section class=\"zht-related-post\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Article\" role=\"region\"\n  aria-label=\"Related article\">\n  <div class=\"zht-related-post-section-label\">\n    \u0645\u0637\u0627\u0644\u0628 \u0645\u0631\u062a\u0628\u0637\n  <\/div>\n  <img decoding=\"async\" width=\"300\" height=\"169\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1-300x169.png.webp\" class=\"attachment-medium size-medium wp-post-image lazyload\" alt=\"Ruby on Rails \u06cc\u0627 \u062c\u0646\u06af\u0648\" data-srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1-300x169.png.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1-1024x576.png.webp 1024w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1-768x432.png.webp 768w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1-1536x864.png.webp 1536w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/a3ff09589d7094bc0e764e7fea77bbe7cee7c77d-2000x1179-1.png 1989w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" title=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/169;\">\n  <a href=\"https:\/\/maktabkhooneh.org\/mag\/ruby-on-rails-or-django\/\" class=\"zht-related-post-title\" itemprop=\"headline\" target=\"_blank\">Ruby on Rails \u06cc\u0627 \u062c\u0646\u06af\u0648\u061f \u0686\u0646\u062f \u06af\u0627\u0645 \u062a\u0627 \u0627\u0646\u062a\u062e\u0627\u0628\u06cc \u062f\u0631\u0633\u062a<\/a>\n<\/section><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a (Admin) \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0646\u06af\u0648\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0641\u0627\u06cc\u0644 admin.py \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u0628\u0627\u06cc\u062f \u0645\u062f\u0644\u200c\u0647\u0627 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.contrib import admin\n\nfrom .models import Author, Category, Post\n\nadmin.site.register(Author)\n\nadmin.site.register(Category)\n\nadmin.site.register(Post)<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f Superuser<\/h3>\n\n\n\n<p>\u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Superuser \u0627\u0633\u062a. Superuser \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647\u200c\u0631\u0627\u062d\u062a\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u062f\u0631 \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0646\u06af\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f. \u0627\u06cc\u062c\u0627\u062f Superuser \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0645\u0631\u062d\u0644\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u062f\u0631 \u0647\u0631 \u067e\u0631\u0648\u0698\u0647 \u062c\u0646\u06af\u0648 \u0628\u0627\u0634\u062f. \u0647\u0631 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u0645\u062f\u0644\u200c\u0647\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645\u060c \u062f\u0631 \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062c\u0646\u06af\u0648 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0648\u0631\u0648\u062f Superuser\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0622\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f Superuser\u060c \u0627\u0628\u062a\u062f\u0627 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ctrl + C \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py createsuperuser<\/pre>\n\n\n\n<p>\u0645\u0631\u0627\u062d\u0644 \u062e\u0648\u0627\u0633\u062a\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u060c \u0631\u0645\u0632 \u0639\u0628\u0648\u0631\u060c \u0627\u06cc\u0645\u06cc\u0644 \u0648 \u063a\u06cc\u0631\u0647. \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u0645\u0627 \u0628\u0627\u0634\u062f. \u062d\u062a\u0645\u0627\u064b \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631 \u062c\u0627\u06cc\u06cc \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u06a9\u0646\u06cc\u062f. \u0627\u0645\u0627 \u0627\u06af\u0631 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0641\u0631\u0627\u0645\u0648\u0634 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0647\u0645\u06cc\u0634\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 Superuser \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p>\u067e\u0633 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632 Superuser\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py runserver<\/pre>\n\n\n\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0648\u0631\u0648\u062f \u0628\u0647 \u0622\u062f\u0631\u0633 <a href=\"http:\/\/127.0.0.1:8000\/admin\/login\" rel=\"nofollow\">http:\/\/127.0.0.1:8000\/admin\/login<\/a> \u0628\u0647 \u0635\u0641\u062d\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u062a\u0645\u0627\u0645\u06cc \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 models.py \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u062d\u062a\u0648\u0627 \u0628\u0647 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0646\u0648\u06cc\u0633\u0646\u062f\u0647\u060c \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0648 \u067e\u0633\u062a\u200c\u0647\u0627\u060c \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"405\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/admin-1024x405.png.webp\" alt=\"\u0627\u06cc\u062c\u0627\u062f Superuser\" class=\"wp-image-46924 lazyload\" title=\"\" data-srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/admin-1024x405.png.webp 1024w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/admin-300x119.png.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/admin-768x304.png.webp 768w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/admin-1536x608.png.webp 1536w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/admin.png 1745w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/405;\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Views (\u0646\u0645\u0627\u06cc\u0634\u200c\u0647\u0627) \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h2>\n\n\n\n<p>\u0641\u0627\u06cc\u0644 views.py \u062c\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646\u0637\u0642 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0648 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0635\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0622\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u0628\u062e\u0634 \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u0642\u0633\u0645\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0641\u0627\u06cc\u0644 views.py\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u062a\u0627\u0628\u0639 render \u0648 \u0645\u062f\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.shortcuts import render\n\nfrom .models import Post, Category, Author<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc (Homepage)<\/h3>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0646\u0645\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">def homepage(request):\n\ncategories = Category.objects.all()[0:3]\n\nfeatured = Post.objects.filter(featured=True)\n\nlatest = Post.objects.order_by('-timestamp')[0:3]\n\ncontext = {\n\n'object_list': featured,\n\n'latest': latest,\n\n'categories': categories,\n\n}\n\nreturn render(request, 'homepage.html', context)<\/pre>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639\u060c \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u060c \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u06cc\u0698\u0647 \u0648 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0627\u062e\u06cc\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u0648 \u062f\u0631 \u0642\u0627\u0644\u0628 \u06cc\u06a9 \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u0628\u0647 \u0627\u0644\u06af\u0648\u06cc homepage.html \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0635\u0641\u062d\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u0633\u062a (Post Detail Page)<\/h3>\n\n\n\n<p>\u0627\u06cc\u0646 \u0628\u062e\u0634 \u0646\u0645\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0635\u0641\u062d\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0647\u0631 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">def post(request, slug):\n\npost = Post.objects.get(slug=slug)\n\ncontext = {\n\n'post': post,\n\n}\n\nreturn render(request, 'post.html', context)<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u06cc\u06a9 \u067e\u0633\u062a \u062e\u0627\u0635 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 slug \u0622\u0646 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u0628\u0647 \u0627\u0644\u06af\u0648\u06cc post.html \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0635\u0641\u062d\u0647 \u062f\u0631\u0628\u0627\u0631\u0647 \u0645\u0627 (About Page) \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h3>\n\n\n\n<p>\u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u062f\u0631\u0628\u0627\u0631\u0647 \u0645\u0627 \u0628\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">def about(request):\n\nreturn render(request, 'about_page.html')<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0641\u0642\u0637 \u0627\u0644\u06af\u0648\u06cc about_page.html \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0635\u0641\u062d\u0647 \u0644\u06cc\u0633\u062a \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc (Category Page)<\/h3>\n\n\n\n<p>\u0627\u06cc\u0646 \u0628\u062e\u0634 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06cc\u06a9 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u062e\u0627\u0635 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">def category_post_list(request, slug):\n\ncategory = Category.objects.get(slug=slug)\n\nposts = Post.objects.filter(categories__in=[category])\n\ncontext = {\n\n'posts': posts,\n\n}\n\nreturn render(request, 'post_list.html', context)<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0645 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u06cc\u06a9 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u062e\u0627\u0635 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0627\u0644\u06af\u0648\u06cc post_list.html \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0635\u0641\u062d\u0647 \u0644\u06cc\u0633\u062a \u062a\u0645\u0627\u0645\u06cc \u067e\u0633\u062a\u200c\u0647\u0627 (All Posts Page)<\/h3>\n\n\n\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0646\u0645\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062a\u0645\u0627\u0645\u06cc \u067e\u0633\u062a\u200c\u0647\u0627:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">def allposts(request):\n\nposts = Post.objects.order_by('-timestamp')\n\ncontext = {\n\n'posts': posts,\n\n}\n\nreturn render(request, 'all_posts.html', context)<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0645\u06cc \u067e\u0633\u062a\u200c\u0647\u0627 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0632\u0645\u0627\u0646 \u0627\u0646\u062a\u0634\u0627\u0631 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0627\u0644\u06af\u0648\u06cc all_posts.html \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0648\u0627\u0628\u0639\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u0637\u0642 \u0646\u0645\u0627\u06cc\u0634 \u0635\u0641\u062d\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u0648\u0628\u0644\u0627\u06af \u062e\u0648\u062f \u0631\u0627 \u0628\u0647\u200c\u062e\u0648\u0628\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u062a\u0648\u0627\u0628\u0639 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0632 \u0645\u062f\u0644\u200c\u0647\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0642\u0627\u0644\u0628\u200c\u0647\u0627\u06cc HTML \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u062a\u0627 \u062f\u0631 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u0646\u062f.<\/p>\n\n\n<div class=\"jet-listing-grid--50192\" style=\"\"><section class=\"zht-related-post\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Article\" role=\"region\"\n  aria-label=\"Related article\">\n  <div class=\"zht-related-post-section-label\">\n    \u0645\u0637\u0627\u0644\u0628 \u0645\u0631\u062a\u0628\u0637\n  <\/div>\n  <img decoding=\"async\" width=\"300\" height=\"171\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/1699899929767-300x171.png.webp\" class=\"attachment-medium size-medium wp-post-image lazyload\" alt=\"\u0628\u0627\u0632\u0627\u0631 \u06a9\u0627\u0631 \u062c\u0646\u06af\u0648\" data-srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/1699899929767-300x171.png.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/1699899929767-1024x585.png.webp 1024w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/10\/1699899929767-768x439.png.webp 768w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/1699899929767.png 1260w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" title=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/171;\">\n  <a href=\"https:\/\/maktabkhooneh.org\/mag\/django-job-market\/\" class=\"zht-related-post-title\" itemprop=\"headline\" target=\"_blank\">\u0628\u0631\u0631\u0633\u06cc \u0628\u0627\u0632\u0627\u0631 \u06a9\u0627\u0631 \u062c\u0646\u06af\u0648 \u062f\u0631 \u0627\u06cc\u0631\u0627\u0646 \u0648 \u062c\u0647\u0627\u0646<\/a>\n<\/section><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645 URL\u200c\u0647\u0627<\/h2>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 URL\u200c\u0647\u0627 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u062c\u0646\u06af\u0648\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0641\u0627\u06cc\u0644 urls.py \u0628\u0631\u0648\u06cc\u062f \u0648 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.conf import settings\n\nfrom django.contrib import admin\n\nfrom posts.views import homepage, post, about, postlist, allposts\n\nfrom django.urls import path<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0639\u0631\u06cc\u0641 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc URL<\/h3>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u0628\u0627\u06cc\u062f \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0648\u06cc\u0648\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631\u0647\u0627 \u0628\u0631\u0627\u06cc \u0647\u062f\u0627\u06cc\u062a URL\u200c\u0647\u0627 \u0628\u0647 \u062a\u0648\u0627\u0628\u0639 \u0648\u06cc\u0648 \u0645\u0646\u0627\u0633\u0628 \u062f\u0631 \u062f\u0627\u062e\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u062c\u0646\u06af\u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u06a9\u062f urlpatterns \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">urlpatterns = [\n\npath('admin\/', admin.site.urls),\n\npath('', homepage, name='homepage'),\n\npath('post\/\/', post, name='post'),\n\npath('about\/', about, name='about'),\n\npath('postlist\/\/', postlist, name='postlist'),\n\npath('posts\/', allposts, name='allposts'),\n\n]<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631\u0647\u0627 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0647\u0631 URL \u062e\u0627\u0635 \u0628\u0647 \u0648\u06cc\u0648\u06cc \u0645\u0631\u0628\u0648\u0637\u0647 \u062e\u0648\u062f \u0647\u062f\u0627\u06cc\u062a \u0634\u0648\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u06cc\u062c\u0627\u062f \u0642\u0627\u0644\u0628\u200c\u0647\u0627 (Templates)<\/h2>\n\n\n\n<p>\u0642\u0627\u0644\u0628\u200c\u0647\u0627 (Templates) \u062c\u0627\u06cc\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0646\u0645\u0627\u06cc &#8220;\u0641\u0631\u0627\u0646\u062a\u200c\u0627\u0646\u062f&#8221; \u0648\u0628\u0644\u0627\u06af \u0645\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646\u062c\u0627 \u062c\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 HTML \u0648 \u062f\u06cc\u06af\u0631 \u0627\u062c\u0632\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0627\u06cc\u062c\u0627\u062f \u067e\u0648\u0634\u0647\u200c\u06cc \u0642\u0627\u0644\u0628\u200c\u0647\u0627<\/strong><strong>:<\/strong> \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u0647 \u0646\u0627\u0645 templates \u062f\u0631 \u0631\u06cc\u0634\u0647\u200c\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li><strong>\u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc<\/strong><strong> HTML <\/strong><strong>\u062f\u0627\u062e\u0644 \u067e\u0648\u0634\u0647\u200c\u06cc<\/strong><strong> templates:<\/strong> \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u067e\u0648\u0634\u0647\u200c\u06cc templates \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:\n<ul class=\"wp-block-list\">\n<li>homepage.html<\/li>\n\n\n\n<li>footer.html<\/li>\n\n\n\n<li>base.html<\/li>\n\n\n\n<li>navbar.html<\/li>\n\n\n\n<li>post_list.html<\/li>\n\n\n\n<li>all_posts.html<\/li>\n\n\n\n<li>about_page.html<\/li>\n\n\n\n<li>post.html<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062f\u0631 \u0641\u0627\u06cc\u0644 settings.py<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646 \u06a9\u0647 \u062c\u0646\u06af\u0648 \u067e\u0648\u0634\u0647\u200c\u06cc \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0631\u0627 \u0645\u06cc\u200c\u0634\u0646\u0627\u0633\u062f\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 settings.py \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0642\u0633\u0645\u062a TEMPLATES\u060c \u062f\u0631 \u0628\u062e\u0634 DIRS \u0627\u06cc\u0646 \u062e\u0637 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">'DIRS': [BASE_DIR \/ \"templates\"],<\/pre>\n\n\n\n<p>\u0628\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u0645\u0633\u06cc\u0631\u0647\u0627\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0635\u0641\u062d\u0627\u062a \u0648\u0628\u0644\u0627\u06af \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0627\u0644\u0628\u200c\u0647\u0627\u06cc HTML \u0648 \u0648\u06cc\u0648\u0647\u0627\u06cc \u062c\u0646\u06af\u0648 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f. \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0638\u0627\u0647\u0631 \u0648 \u0645\u062d\u062a\u0648\u0627\u06cc \u0635\u0641\u062d\u0627\u062a \u0648\u0628\u0644\u0627\u06af \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062f\u0642\u06cc\u0642 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u062f \u0648 \u062a\u062c\u0631\u0628\u0647\u200c\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0647\u062a\u0631\u06cc \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Tailwind CSS<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647\u060c \u0627\u0632 Tailwind CSS \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 Tailwind CSS<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Tailwind CSS \u0627\u0632 \u0637\u0631\u06cc\u0642 CDN\u060c \u0628\u0647 \u0635\u0641\u062d\u0647 <a href=\"https:\/\/tailwindcss.com\/docs\/installation\/play-cdn\" rel=\"nofollow noopener\" target=\"_blank\">\u0646\u0635\u0628 Tailwind CSS<\/a> \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0631\u0627\u062d\u0644 \u0630\u06a9\u0631 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0633\u0627\u062e\u062a\u0627\u0631 \u0641\u0627\u06cc\u0644 base.html<\/h3>\n\n\n\n<p>\u062f\u0631 \u0641\u0627\u06cc\u0644 base.html\u060c \u06a9\u062f HTML \u067e\u0627\u06cc\u0647 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;meta charset=\"UTF-8\" \/&gt;\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/&gt;\n&lt;script src=\"https:\/\/cdn.tailwindcss.com\"&gt;&lt;\/script&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1 class=\"text-3xl font-bold underline\"&gt;Hello world!&lt;\/h1&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n\n\n\n<p><strong>\u062a\u0648\u0636\u06cc\u062d \u062f\u0631\u0628\u0627\u0631\u0647 \u0641\u0627\u06cc\u0644 <\/strong><strong>base.html:<\/strong><\/p>\n\n\n\n<p>\u0641\u0627\u06cc\u0644 base.html \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0627\u06a9\u062b\u0631 \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0627\u0636\u0627\u0641\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f \u062a\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u062f \u062f\u0631 \u0647\u0631 \u0642\u0627\u0644\u0628 \u0646\u0628\u0627\u0634\u062f. \u062f\u0631 \u0648\u0627\u0642\u0639\u060c \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u0627\u06cc\u0647\u200c\u0627\u06cc \u0628\u0631\u0627\u06cc \u06af\u0633\u062a\u0631\u0634 \u062f\u06cc\u06af\u0631 \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0639\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u0627\u06cc\u0647 \u0642\u0627\u0644\u0628\u200c\u0647\u0627<\/h3>\n\n\n\n<p>\u062f\u0631 \u0641\u0627\u06cc\u0644 base.html\u060c \u0628\u062e\u0634 &#8220;Hello World&#8221; \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0627 \u06a9\u062f \u0632\u06cc\u0631 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% include \"navbar.html\" %}\n\n{% block content %}\n\n{% endblock content %}\n\n{% include \"footer.html\" %}<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 \u0635\u0641\u062d\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0627\u0632 base.html \u06af\u0633\u062a\u0631\u0634 \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0646\u0648\u0627\u0631 \u0646\u0627\u0648\u0628\u0631\u06cc (navbar) \u0648 \u0641\u0648\u062a\u0631 (footer) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0634\u0627\u0645\u0644 \u0634\u0648\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u06af\u0633\u062a\u0631\u0634 \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 base.html<\/h3>\n\n\n\n<p>\u062f\u0631 \u0642\u0627\u0644\u0628\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u0641\u0627\u06cc\u0644 \u06a9\u062f {% extends &#8216;base.html&#8217; %} \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u062a\u0645\u0627\u0645 \u0645\u062d\u062a\u0648\u0627\u06cc \u062f\u0627\u062e\u0644 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 \u0628\u0644\u0648\u06a9 block content \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>post.html<\/li>\n\n\n\n<li>about_page.html<\/li>\n\n\n\n<li>homepage.html<\/li>\n\n\n\n<li>post_list.html<\/li>\n<\/ul>\n\n\n\n<p><strong>\u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 \u0642\u0627\u0644\u0628 \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647:<\/strong><\/p>\n\n\n\n<p>\u0633\u0627\u062e\u062a\u0627\u0631 \u0647\u0631 \u0635\u0641\u062d\u0647 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% extends 'base.html' %} {% block content %}\n\n&lt;section&gt;........&lt;\/section&gt;\n\n{% endblock %}<\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 base.html \u0648 \u06af\u0633\u062a\u0631\u0634 \u0622\u0646 \u062f\u0631 \u0642\u0627\u0644\u0628\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u060c \u0634\u0645\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0637\u0631\u062d \u0648 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0627\u06cc\u0647 \u0635\u0641\u062d\u0627\u062a \u0631\u0627 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 Tailwind CSS \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0632\u06cc\u0628\u0627 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0648\u0628\u0644\u0627\u06af \u062e\u0648\u062f \u0628\u0647\u0631\u0647 \u0628\u0628\u0631\u06cc\u062f. \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0637\u0631\u0627\u062d\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 Alpine JS \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648<\/h2>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0627\u0632 AlpineJS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0686\u0631\u0627 \u06a9\u0647 \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0633\u0627\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u062a\u0639\u0627\u0645\u0644\u06cc\u200c\u062a\u0631\u06cc \u0628\u0633\u0627\u0632\u06cc\u0645.<\/p>\n\n\n\n<p><strong>\u0645\u0631\u0627\u062d\u0644 \u0646\u0635\u0628<\/strong><strong> AlpineJS:<\/strong><\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AlpineJS \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646<\/strong><strong> AlpineJS <\/strong><strong>\u0628\u0647 \u0641\u0627\u06cc\u0644 <\/strong><strong>base.html:<\/strong> \u06a9\u062f AlpineJS \u0631\u0627 \u062f\u0631\u0633\u062a \u0632\u06cc\u0631 \u06a9\u062f Tailwind \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;script defer src=\"https:\/\/unpkg.com\/alpinejs@3.x.x\/dist\/cdn.min.js\"&gt;&lt;\/script&gt;<\/pre>\n\n\n\n<p><strong>\u0627\u06cc\u062c\u0627\u062f \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc<\/strong><strong> (Dropdown) <\/strong><strong>\u0628\u0627<\/strong><strong> AlpineJS<\/strong><\/p>\n\n\n\n<p>\u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0645\u0639\u0645\u0648\u0644\u06cc \u062f\u0631 \u0646\u0648\u0627\u0631 \u0646\u0627\u0648\u0628\u0631\u06cc (navbar)\u060c \u06cc\u06a9 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0627\u06cc\u062c\u0627\u062f \u0642\u0627\u0644\u0628 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc<\/strong><strong>:<\/strong> \u0642\u0627\u0644\u0628 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0631\u0627 \u0627\u0632 <a href=\"https:\/\/tailwindcss.com\/plus\" rel=\"nofollow noopener\" target=\"_blank\">TailwindUI<\/a> \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 navbar.html\u060c \u062f\u0631\u0633\u062a \u0632\u06cc\u0631 \u0644\u06cc\u0646\u06a9\u200c\u0647\u0627\u06cc \u062e\u0627\u0646\u0647 \u0648 \u062f\u0631\u0628\u0627\u0631\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li><strong>\u06a9\u062f \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0628\u0627<\/strong><strong> AlpineJS:<\/strong> \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 navbar.html \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AlpineJS \u0628\u0633\u0627\u0632\u06cc\u062f:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;div x-data=\"{ open: false }\" class=\"relative inline-block text-left\"&gt;\n&lt;div&gt;\n&lt;button\n@click=\"open = ! open\"\ntype=\"button\"\nclass=\"inline-flex justify-center w-full rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-100 focus:ring-indigo-500\"\nid=\"menu-button\"\naria-expanded=\"true\"\naria-haspopup=\"true\"\n&gt;\nCategories\n&lt;!-- drop-down --&gt;\n&lt;svg\nclass=\"-mr-1 ml-2 h-5 w-5\"\nxmlns=\"http:\/\/www.w3.org\/2000\/svg\"\nviewBox=\"0 0 20 20\"\nfill=\"currentColor\"\naria-hidden=\"true\"\n&gt;\n&lt;path\nfill-rule=\"evenodd\"\nd=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\nclip-rule=\"evenodd\"\n\/&gt;\n&lt;\/svg&gt;\n&lt;\/button&gt;\n&lt;\/div&gt;\n\n&lt;div\nx-show=\"open\"\nx-transition:enter=\"transition ease-out duration-100\"\nx-transition:enter-start=\"transform opacity-0 scale-95\"\nx-transition:enter-end=\"transform opacity-100 scale-100\"\nx-transition:leave=\"transition ease-in duration-75\"\nx-transition:leave-start=\"transform opacity-100 scale-100\"\nx-transition:leave-end=\"transform opacity-0 scale-95\"\nclass=\"origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none\"\nrole=\"menu\"\naria-orientation=\"vertical\"\naria-labelledby=\"menu-button\"\ntabindex=\"-1\"\n&gt;\n&lt;div class=\"py-1\" role=\"none\"&gt;\n&lt;!-- Active: \"bg-gray-100 text-gray-900\", Not Active: \"text-gray-700\" --&gt;\n{% for category in category_list %}\n&lt;a\nhref=\"{% url 'postlist' category.slug %}\"\nclass=\"text-gray-700 block px-4 py-2 text-sm rounded-lg hover:bg-pink-200 \"\nrole=\"menuitem\"\ntabindex=\"-1\"\nid=\"menu-item-0\"\n&gt;\n{{ category.title }}\n&lt;\/a&gt;\n{% endfor %}\n&lt;a\nhref=\"{% url 'allposts' %}\"\ntype=\"submit\"\nclass=\"text-gray-700 block w-full text-left px-4 py-2 text-sm rounded-lg hover:bg-pink-200\"\nrole=\"menuitem\"\ntabindex=\"-1\"\nid=\"menu-item-3\"\n&gt;\nSee all posts&lt;\/a\n&gt;\n&lt;\/div&gt;\n&lt;\/div&gt;\n&lt;\/div&gt;<\/pre>\n\n\n\n<p><strong>\u062a\u0648\u0636\u06cc\u062d \u06a9\u062f<\/strong><strong> AlpineJS \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0642\u0633\u0645\u062a x-data=&#8221;{ open: false }&#8221; \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u062f\u0631 \u0627\u0628\u062a\u062f\u0627 \u0628\u0633\u062a\u0647 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>\u062f\u06a9\u0645\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0628\u0627 @click=&#8221;open = ! open&#8221; \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062d\u0627\u0644\u062a \u0628\u0627\u0632 \u06cc\u0627 \u0628\u0633\u062a\u0647 \u0628\u0648\u062f\u0646 \u0645\u0646\u0648 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/li>\n\n\n\n<li>\u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u062a x-show \u0648 x-transition \u0628\u0631\u0627\u06cc \u0627\u0646\u06cc\u0645\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u0648\u0631\u0648\u062f \u0648 \u062e\u0631\u0648\u062c \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/li>\n<\/ul>\n\n\n\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AlpineJS \u0648 Tailwind CSS\u060c \u06cc\u06a9 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0632\u06cc\u0628\u0627 \u0648 \u062a\u0639\u0627\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0648\u0628\u0644\u0627\u06af \u062e\u0648\u062f \u0633\u0627\u062e\u062a\u0647\u200c\u0627\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0628\u0647 \u0645\u0637\u0627\u0644\u0628 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0627\u0641\u0632\u0648\u062f\u0646 \u062c\u0633\u062a\u062c\u0648\u06af\u0631 \u0628\u0647 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Tailwind CSS<\/h2>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062c\u0633\u062a\u062c\u0648\u06af\u0631 \u0628\u0647 \u067e\u0631\u0648\u0698\u0647 \u0648\u0628\u0644\u0627\u06af \u062e\u0648\u062f\u060c \u0627\u0632 Tailwind CSS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0627\u0633\u062a\u0627\u06cc\u0644 \u062c\u0630\u0627\u0628 \u0648 \u06a9\u0627\u0631\u0628\u0631\u067e\u0633\u0646\u062f\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n\n\n<div class=\"jet-listing-grid--50121\" style=\"\"><div class=\"jet-listing-dynamic-field-block zht-maktab-khooneh-course cb-fb2qc30r\"data-is-block=\"jet-engine\/dynamic-field\"><div class=\"jet-listing-dynamic-field__content\" >\n<div class=\"course-card\">\n    <div class=\"course-card-img\">\n        <img decoding=\"async\" \n            data-src=\"https:\/\/media1.maktabkhooneh.org\/CACHE\/images\/courses\/images\/py4ne\/93c8ec132c3965af20b8c958062d223e.webp?expire=4893471932&#038;token=1628adaa47df3b9d48fcc1040bf75105&#038;md5=FiitqkffO51I_MEEC_dRBQ==\" \n            alt=\"\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0627\u06cc \u0645\u0647\u0646\u062f\u0633\u06cc\u0646 \u0634\u0628\u06a9\u0647\" \n            title=\"\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0627\u06cc \u0645\u0647\u0646\u062f\u0633\u06cc\u0646 \u0634\u0628\u06a9\u0647\" \n            width=\"100%\" \n            height=\"auto\"\n           \n         src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n    <\/div>\n\n    <div class=\"course-details\">\n        <a href=\"https:\/\/maktabkhooneh.org\/course\/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C%D9%86-%D8%B4%D8%A8%DA%A9%D9%87-mk3800\/\" class=\"course-title\" target=\"_blank\" rel=\"noopener noreferrer\">\n            \u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0627\u06cc \u0645\u0647\u0646\u062f\u0633\u06cc\u0646 \u0634\u0628\u06a9\u0647        <\/a>\n\n        <div class=\"course-price\">\n            \n                <span class=\"real-price\">\n                                            \u06f1,\u06f9\u06f9\u06f9,\u06f0\u06f0\u06f0                                    <\/span>\n\n                <span>\n                    <span class=\"discounted-price\">\n                        \u06f1,\u06f1\u06f9\u06f9,\u06f4\u06f0\u06f0                    <\/span>\n                    <span class=\"price-currency\">\u062a\u0648\u0645\u0627\u0646<\/span>\n                <\/span>\n\n                                    <div class=\"discount-percentage\">\n                        \u06f4\u06f0%                    <\/div>\n                \n                    <\/div>\n        <button class=\"course-cta-button\" data-course-url=\"https:\/\/maktabkhooneh.org\/course\/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C%D9%86-%D8%B4%D8%A8%DA%A9%D9%87-mk3800\/\">\n            \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062e\u0631\u06cc\u062f        <\/button>\n    <\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<p><strong>\u06f1<\/strong><strong>. <\/strong><strong>\u0633\u0627\u062e\u062a \u0642\u0627\u0644\u0628 \u062c\u0633\u062a\u062c\u0648\u06af\u0631<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 search_results.html \u062f\u0631 \u067e\u0648\u0634\u0647 templates \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u06f2<\/strong><strong>. <\/strong><strong>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648<\/strong><strong> (Search Bar)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0642\u0627\u0644\u0628 \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648 \u0631\u0627 \u0627\u0632 <a href=\"https:\/\/www.creative-tim.com\/twcomponents\/component\/search-bar\" rel=\"nofollow noopener\" target=\"_blank\">\u0627\u06cc\u0646 \u0644\u06cc\u0646\u06a9<\/a> \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u0641\u0627\u06cc\u0644 navbar.html\u060c \u062f\u0631\u0633\u062a \u0632\u06cc\u0631 \u062a\u06af &lt;nav> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u06f3<\/strong><strong>. <\/strong><strong>\u0628\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u06cc\u06a9 \u0641\u0631\u0645<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0642\u0627\u0644\u0628 \u062c\u0633\u062a\u062c\u0648\u06af\u0631 \u0631\u0627 \u062f\u0631\u0648\u0646 \u06cc\u06a9 \u062a\u06af &lt;form> \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0648\u06cc\u0698\u06af\u06cc action \u0631\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;form action=\"{% url 'search' %}\" class=\"search-form\"&gt;...&lt;\/form&gt;<\/pre>\n\n\n\n<p><strong>\u06f4<\/strong><strong>. <\/strong><strong>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062f\u0631 \u0641\u0627\u06cc\u0644<\/strong><strong> views.py<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u062f\u0631 \u0641\u0627\u06cc\u0644 views.py\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Q \u0631\u0627 \u0628\u0631\u0627\u06cc \u0641\u06cc\u0644\u062a\u0631\u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648 \u0628\u0647 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.db.models import Q<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u062a\u0627\u0628\u0639 \u062c\u062f\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc \u0645\u0646\u0637\u0642 \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u0641\u0627\u06cc\u0644 views.py \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">def search(request):\n\nqueryset = Post.objects.all()\n\nquery = request.GET.get('q')\n\nif query:\n\nqueryset = queryset.filter(\n\nQ(title__icontains=query) |\n\nQ(overview__icontains=query)\n\n).distinct()\n\ncontext = {\n\n'queryset': queryset\n\n}\n\nreturn render(request, 'search_results.html', context)<\/pre>\n\n\n\n<p><strong>\u06f5<\/strong><strong>. <\/strong><strong>\u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u0633\u06cc\u0631 \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u0641\u0627\u06cc\u0644<\/strong><strong> urls.py<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0645\u0633\u06cc\u0631 \u062c\u0633\u062a\u062c\u0648 \u0631\u0627 \u0628\u0647 \u0641\u0627\u06cc\u0644 urls.py \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">path('search\/', search, name='search'),<\/pre>\n\n\n\n<p><strong>\u06f6<\/strong><strong>. <\/strong><strong>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a<\/strong><strong> HTML <\/strong><strong>\u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0644\u0627\u0632\u0645 \u0631\u0627 \u062f\u0631 input \u0648 \u062f\u06a9\u0645\u0647 \u062c\u0633\u062a\u062c\u0648 \u0627\u0639\u0645\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u06a9\u0646\u062f:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;form action=\"{% url 'search' %}\" class=\"search-form\"><br>&lt;div class=\"pt-2 relative mx-auto text-gray-600\"><br>&lt;input<br>class=\"border-2 border-gray-300 bg-white h-10 px-5 pr-16 rounded-lg text-sm focus:outline-none\"<br>type=\"text\"<br>name=\"q\"<br>placeholder=\"Search\"<br>\/><br>&lt;button type=\"submit\" class=\"absolute right-0 top-0 mt-5 mr-4\"><br>&lt;svg<br>class=\"text-gray-600 h-4 w-4 fill-current\"<br>xmlns=\"[&lt;http:\/\/www.w3.org\/2000\/svg>](&lt;http:\/\/www.w3.org\/2000\/svg>)\"<br>xmlns:xlink=\"[&lt;http:\/\/www.w3.org\/1999\/xlink>](&lt;http:\/\/www.w3.org\/1999\/xlink>)\"<br>version=\"1.1\"<br>id=\"Capa_1\"<br>x=\"0px\"<br>y=\"0px\"<br>viewBox=\"0 0 56.966 56.966\"<br>style=\"enable-background:new 0 0 56.966 56.966;\"<br>xml:space=\"preserve\"<br>width=\"512px\"<br>height=\"512px\"<br>><br>&lt;path<br>d=\"M55.146,51.887L41.588,37.786c3.486-4.144,5.396-9.358,5.396-14.786c0-12.682-10.318-23-23-23s-23,10.318-23,23 s10.318,23,23,23c4.761,0,9.298-1.436,13.177-4.162l13.661,14.208c0.571,0.593,1.339,0.92,2.162,0.92 c0.779,0,1.518-0.297,2.079-0.837C56.255,54.982,56.293,53.08,55.146,51.887z M23.984,6c9.374,0,17,7.626,17,17s-7.626,17-17,17 s-17-7.626-17-17S14.61,6,23.984,6z\"<br>\/><br>&lt;\/svg><br>&lt;\/button><br>&lt;\/div><br>&lt;\/form><\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u0642\u0627\u0644\u0627\u062a \u062e\u0627\u0635\u06cc \u0631\u0627 \u062f\u0631 \u0648\u0628\u0644\u0627\u06af \u0634\u0645\u0627 \u062c\u0633\u062a\u062c\u0648 \u06a9\u0646\u0646\u062f. \u0646\u0648\u0627\u0631 \u062c\u0633\u062a\u062c\u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AlpineJS \u0648 Tailwind CSS \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0648 \u06a9\u0627\u0645\u0644\u0627\u064b \u062a\u0639\u0627\u0645\u0644\u06cc \u0627\u0633\u062a.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" width=\"1132\" height=\"580\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/searchbar2gif-1.gif\" alt=\"\u0627\u0641\u0632\u0648\u062f\u0646 \u062c\u0633\u062a\u062c\u0648\u06af\u0631 \u0628\u0647 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Tailwind CSS\" class=\"wp-image-46926 lazyload\" title=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1132px; --smush-placeholder-aspect-ratio: 1132\/580;\"><figcaption><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 Markdown \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 Django<\/h3>\n\n\n\n<p>Markdown \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0645\u062d\u062a\u0648\u0627 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644\u06cc \u062e\u0648\u0627\u0646\u0627\u062a\u0631 \u0648 \u0632\u06cc\u0628\u0627\u062a\u0631 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0641\u0631\u0645\u062a \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Markdown\u060c \u0646\u0648\u06cc\u0633\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0645\u062d\u062a\u0648\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f HTML \u062f\u0631 \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0631\u062f \u06a9\u0646\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0631\u0627\u062d\u0644 \u0646\u0635\u0628 \u0648 \u062a\u0646\u0638\u06cc\u0645 Markdown \u0631\u0627 \u0634\u0631\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645.<\/p>\n\n\n<div class=\"jet-listing-grid--50121\" style=\"\"><div class=\"jet-listing-dynamic-field-block zht-maktab-khooneh-course cb-fb2qc30r\"data-is-block=\"jet-engine\/dynamic-field\"><div class=\"jet-listing-dynamic-field__content\" >\n<div class=\"course-card\">\n    <div class=\"course-card-img\">\n        <img decoding=\"async\" \n            data-src=\"https:\/\/media1.maktabkhooneh.org\/CACHE\/images\/courses\/images\/1632244077013\/be56cf8136429c2f6005576b51cfc03f.webp?expire=4893471932&#038;token=4bdd98a267d420c1b14191080b9f0081&#038;md5=S92YomfUIMGxQZEIC58AgQ==\" \n            alt=\"\u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u062c\u0646\u06af\u0648\" \n            title=\"\u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u062c\u0646\u06af\u0648\" \n            width=\"100%\" \n            height=\"auto\"\n           \n         src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n    <\/div>\n\n    <div class=\"course-details\">\n        <a href=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D8%AC%D9%86%DA%AF%D9%88-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-mk5491\/\" class=\"course-title\" target=\"_blank\" rel=\"noopener noreferrer\">\n            \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u062c\u0646\u06af\u0648        <\/a>\n\n        <div class=\"course-price\">\n            \n                <span class=\"real-price\">\n                                            \u06f5\u06f9\u06f9,\u06f0\u06f0\u06f0                                    <\/span>\n\n                <span>\n                    <span class=\"discounted-price\">\n                        \u06f4\u06f4\u06f9,\u06f2\u06f5\u06f0                    <\/span>\n                    <span class=\"price-currency\">\u062a\u0648\u0645\u0627\u0646<\/span>\n                <\/span>\n\n                                    <div class=\"discount-percentage\">\n                        \u06f2\u06f5%                    <\/div>\n                \n                    <\/div>\n        <button class=\"course-cta-button\" data-course-url=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D8%AC%D9%86%DA%AF%D9%88-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-mk5491\/\">\n            \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062e\u0631\u06cc\u062f        <\/button>\n    <\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<p><strong>\u06f1<\/strong><strong>. <\/strong><strong>\u0646\u0635\u0628<\/strong><strong> Markdown<\/strong><\/p>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0633\u0631\u0648\u0631 Django \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Markdown \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install markdown==3.2.1<\/pre>\n\n\n\n<p><strong>\u06f2<\/strong><strong>. <\/strong><strong>\u0627\u06cc\u062c\u0627\u062f \u067e\u0648\u0634\u0647 \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0628\u0647 \u067e\u0648\u0634\u0647 posts \u0628\u0631\u0648\u06cc\u062f \u0648 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 templatetags \u062f\u0631 \u0622\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u062f\u0627\u062e\u0644 \u067e\u0648\u0634\u0647 templatetags\u060c \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0646\u0627\u0645 markdown_extras.py \u0628\u0633\u0627\u0632\u06cc\u062f.<\/li>\n<\/ol>\n\n\n\n<p><strong>\u06f3<\/strong><strong>. <\/strong><strong>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06a9\u062f \u0628\u0647 <\/strong><strong>markdown_extras.py<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0641\u0627\u06cc\u0644 markdown_extras.py\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django import template\n\nfrom django.template.defaultfilters import stringfilter\n\nimport markdown as md\n\nregister = template.Library()\n\n@register.filter()\n\n@stringfilter\n\ndef markdown(value):\n\nreturn md.markdown(value, extensions=['markdown.extensions.fenced_code'])<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u06a9\u062f \u06cc\u06a9 \u0641\u06cc\u0644\u062a\u0631 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 markdown \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n\n\n\n<p><strong>\u06f4<\/strong><strong>. <\/strong><strong>\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0641\u06cc\u0644\u062a\u0631 \u062f\u0631 \u0642\u0627\u0644\u0628 <\/strong><strong>post.html<\/strong><\/p>\n\n\n\n<p>\u0628\u0647 \u0641\u0627\u06cc\u0644 post.html \u0628\u0631\u0648\u06cc\u062f \u0648 \u062f\u0631 \u0632\u06cc\u0631 {% extends &#8216;base.html&#8217; %} \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% load markdown_extras %}<\/pre>\n\n\n\n<p><strong>\u06f5<\/strong><strong>. <\/strong><strong>\u0646\u0645\u0627\u06cc\u0634 \u0645\u062d\u062a\u0648\u0627\u06cc<\/strong><strong> Markdown <\/strong><strong>\u062f\u0631 <\/strong><strong>post.html<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0628\u062e\u0634 \u0645\u062d\u062a\u0648\u0627\u06cc \u067e\u0633\u062a\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0645\u062d\u062a\u0648\u0627\u06cc Markdown \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;div class=\"py-6\"&gt;{{ post.content | markdown | safe }}&lt;\/div&gt;<\/pre>\n\n\n\n<p><strong>\u06f6<\/strong><strong>. <\/strong><strong>\u0646\u062a\u06cc\u062c\u0647 \u0646\u0647\u0627\u06cc\u06cc<\/strong><\/p>\n\n\n\n<p>\u0641\u0627\u06cc\u0644 post.html \u0634\u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% extends 'base.html' %}\n{% load markdown_extras %}\n{% block content %}\n&lt;div class=\"py-6\"&gt;{{ post.content | markdown | safe }}&lt;\/div&gt;\n{% endblock content %}<\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u0631\u0627\u062d\u0644 \u0628\u0627\u0644\u0627\u060c \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062d\u062a\u0648\u0627 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Markdown \u062f\u0631 \u067e\u0646\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644\u06cc \u0632\u06cc\u0628\u0627\u062a\u0631 \u062f\u0631 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u062e\u0648\u062f \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f. \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0628\u0647 \u0646\u0648\u06cc\u0633\u0646\u062f\u06af\u0627\u0646 \u0648 \u0645\u062f\u06cc\u0631\u0627\u0646 \u0645\u062d\u062a\u0648\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0648 \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06a9\u062f \u0646\u0648\u06cc\u0633\u06cc HTML\u060c \u0645\u0637\u0627\u0644\u0628 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u062f\u0644\u062e\u0648\u0627\u0647 \u0641\u0631\u0645\u062a \u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u0646\u0637\u0642 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc (Dropdown Menu Logic) \u062f\u0631 Django<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u06a9\u0647 \u0634\u0627\u0645\u0644 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0627\u0634\u062f\u060c \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0646\u0648 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0628\u0647 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u0627\u0646\u0646\u062f \u063a\u0630\u0627\u060c \u0646\u0642\u062f \u0648 \u0628\u0631\u0631\u0633\u06cc \u0648 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0646\u062f.<\/p>\n\n\n\n<p><strong>\u06f1<\/strong><strong>. <\/strong><strong>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0645\u062f\u0644 <\/strong><strong>Category <\/strong><strong>\u062f\u0631 <\/strong><strong>markdown_extras.py<\/strong><\/p>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0641\u0627\u06cc\u0644 markdown_extras.py\u060c \u0645\u062f\u0644 Category \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from posts.models import Category<\/pre>\n\n\n\n<p><strong>\u06f2<\/strong><strong>. <\/strong><strong>\u0627\u0641\u0632\u0648\u062f\u0646 \u062a\u0627\u0628\u0639 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0632\u06cc\u0631 \u0641\u06cc\u0644\u062a\u0631 \u0645\u0648\u062c\u0648\u062f\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0633\u0627\u062f\u0647 (simple tag) \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@register.simple_tag\ndef get_categories():\nreturn Category.objects.all()[0:3]<\/pre>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0645 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p><strong>\u06f3<\/strong><strong>. <\/strong><strong>\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062a\u06af\u200c\u0647\u0627\u06cc \u0642\u0627\u0644\u0628 \u062f\u0631 <\/strong><strong>navbar.html<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0641\u0627\u06cc\u0644 navbar.html\u060c \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0635\u0641\u062d\u0647\u060c \u0642\u0628\u0644 \u0627\u0632 \u0647\u0631 \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc\u060c \u062a\u06af\u200c\u0647\u0627\u06cc \u0642\u0627\u0644\u0628 \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% load markdown_extras %}<\/pre>\n\n\n\n<p><strong>\u06f4<\/strong><strong>. <\/strong><strong>\u0630\u062e\u06cc\u0631\u0647 \u0646\u062a\u0627\u06cc\u062c \u062a\u0627\u0628\u0639 \u062f\u0631 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 navbar.html\u060c \u062a\u0627\u0628\u0639\u06cc \u06a9\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0631\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u0642\u0627\u0644\u0628 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% get_categories as category_list %}<\/pre>\n\n\n\n<p><strong>\u06f5<\/strong><strong>. <\/strong><strong>\u062d\u0644\u0642\u0647\u200c\u0632\u0646\u06cc \u062f\u0631 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627<\/strong><\/p>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u062f\u0631 \u0628\u062e\u0634 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062d\u0644\u0642\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627 \u062f\u0631 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0642\u0633\u0645\u062a \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% for category in category_list %}\n&lt;a\nhref=\"{% url 'postlist' category.slug %}\"\nclass=\"text-gray-700 block px-4 py-2 text-sm rounded-lg hover:bg-pink-200 \"\nrole=\"menuitem\"\ntabindex=\"-1\"\nid=\"menu-item-0\"\n&gt;\n{{ category.title }}\n&lt;\/a&gt;\n{% endfor %}<\/pre>\n\n\n\n<p><strong>\u06f6<\/strong><strong>. <\/strong><strong>\u0646\u062a\u06cc\u062c\u0647 \u0646\u0647\u0627\u06cc\u06cc<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c navbar.html \u0634\u0645\u0627 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" width=\"1262\" height=\"578\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/10\/drop-dwn-menugif.gif\" alt=\"\u0645\u0646\u0637\u0642 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc (Dropdown Menu Logic) \u062f\u0631 Django\" class=\"wp-image-46925 lazyload\" title=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1262px; --smush-placeholder-aspect-ratio: 1262\/578;\"><figcaption><\/figcaption><\/figure>\n\n\n\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644\u060c \u0634\u0645\u0627 \u0645\u0648\u0641\u0642 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u0646\u0648\u06cc \u06a9\u0634\u0648\u06cc\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0628\u06cc\u0646 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062c\u0627\u0628\u062c\u0627 \u0634\u0648\u0646\u062f. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0628\u0647 \u0628\u0647\u0628\u0648\u062f \u062a\u062c\u0631\u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u062f\u0633\u062a\u0631\u0633\u06cc \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u0628\u0647 \u0645\u062d\u062a\u0648\u0627\u06cc \u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0646\u0635\u0628 Pillow \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062a\u0635\u0627\u0648\u06cc\u0631<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062a\u0635\u0627\u0648\u06cc\u0631 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 Django\u060c \u0628\u0627\u06cc\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Pillow \u0631\u0627 \u0646\u0635\u0628 \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u0631\u0627\u062d\u0644 \u0644\u0627\u0632\u0645 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645.<\/p>\n\n\n\n<p><strong>\u06f1<\/strong><strong>. <\/strong><strong>\u0646\u0635\u0628<\/strong><strong> Pillow<\/strong><\/p>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u0633\u0631\u0648\u0631 Django \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f (\u0628\u0627 Ctrl + C) \u0648 \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u06cc\u06a9\u06cc \u06cc\u06a9\u06cc \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install pillow\npip freeze &gt; requirements.txt\npython manage.py runserver<\/pre>\n\n\n\n<p><strong>\u06f2<\/strong><strong>. <\/strong><strong>\u062a\u0646\u0638\u06cc\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u062f\u0631 <\/strong><strong>settings.py<\/strong><\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0648 \u0631\u0633\u0627\u0646\u0647\u060c \u0628\u0647 \u0641\u0627\u06cc\u0644 settings.py \u0628\u0631\u0648\u06cc\u062f \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u067e\u0627\u06cc\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 STATIC_URL \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">STATIC_URL = '\/static\/'\n\nSTATICFILES_DIRS = [\n\nBASE_DIR \/ \"static\",\n\n]\n\nMEDIA_URL = '\/media\/'\n\nSTATIC_ROOT = BASE_DIR \/ \"static_cdn\"\n\nMEDIA_ROOT = BASE_DIR \/ \"media_cdn\"<\/pre>\n\n\n\n<p><strong>\u06f3<\/strong><strong>. <\/strong><strong>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062f\u0631 <\/strong><strong>urls.py<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0641\u0627\u06cc\u0644 urls.py\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">from django.conf import settings\nfrom django.conf.urls.static import static<\/pre>\n\n\n\n<p>\u0633\u067e\u0633 \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc urlpatterns\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">if settings.DEBUG:\n\nurlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n\nurlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)<\/pre>\n\n\n\n<p><strong>\u06f4<\/strong><strong>. <\/strong><strong>\u0627\u06cc\u062c\u0627\u062f \u067e\u0648\u0634\u0647\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0648 \u0631\u0633\u0627\u0646\u0647<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0631\u06cc\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648\u060c \u062f\u0648 \u067e\u0648\u0634\u0647 \u0628\u0647 \u0646\u0627\u0645\u200c\u0647\u0627\u06cc static_cdn \u0648 media_cdn \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p><strong>\u06f5<\/strong><strong>. <\/strong><strong>\u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9<\/strong><\/p>\n\n\n\n<p>\u067e\u0633 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u067e\u0648\u0634\u0647\u200c\u0647\u0627\u060c \u0633\u0631\u0648\u0631 \u0631\u0627 \u0628\u0628\u0646\u062f\u06cc\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py collectstatic<\/pre>\n\n\n\n<p><strong>\u06f6<\/strong><strong>. <\/strong><strong>\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u062f\u0631 \u062a\u0645\u067e\u0644\u06cc\u062a\u200c\u0647\u0627<\/strong><\/p>\n\n\n\n<p>\u062f\u0631 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u062a\u0645\u067e\u0644\u06cc\u062a\u200c\u0647\u0627\u060c \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{% load static %}<\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u06a9\u0647 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0648 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0646\u062f\u0627\u0646\u06af\u0634\u062a\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u062a\u0635\u0648\u06cc\u0631 \u0628\u0627\u06cc\u062f \u062f\u0631 \u067e\u0648\u0634\u0647 media \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u06a9\u0644\u0627\u0645 \u0646\u0647\u0627\u06cc\u06cc<\/h2>\n\n\n\n<p>\u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f \u0648 \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u06a9\u0647 \u062a\u0648\u0627\u0646\u0633\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0645\u0646\u062a\u0638\u0631 \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627\u06cc \u0622\u06cc\u0646\u062f\u0647 \u0628\u0627 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647\u200c\u062a\u0631 \u0628\u0627\u0634\u06cc\u062f \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06a9\u0627\u0631\u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0627 Django \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f. \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0645\u0641\u06cc\u062f \u0628\u0648\u062f \u0648 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647 Django \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0642\u0634\u0647 \u0631\u0627\u0647 \u062c\u0627\u0645\u0639 \u062f\u0648\u0631\u0647\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0645\u06a9\u062a\u0628 \u062e\u0648\u0646\u0647 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0622\u0645\u0648\u0632\u0634 \u0635\u0641\u0631 \u062a\u0627 \u0635\u062f \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u062c\u0646\u06af\u0648 \u062f\u0631 \u0645\u06a9\u062a\u0628 \u062e\u0648\u0646\u0647<\/h2>\n\n\n\n<p>\u0627\u06af\u0631 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0647\u0633\u062a\u06cc\u062f\u060c Django \u0648 Python \u0628\u0647\u062a\u0631\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0647\u0633\u062a\u0646\u062f. Django \u06cc\u06a9\u06cc \u0627\u0632 \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u062a\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9\u200c\u0647\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0648\u0628\u200c\u0633\u0627\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0648\u06cc\u0627 \u0648 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0639\u062a \u0648 \u0628\u0627 \u0627\u0645\u0646\u06cc\u062a \u0628\u0627\u0644\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f. \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc Python \u0646\u06cc\u0632 \u0628\u0627 \u0633\u06cc\u0646\u062a\u06a9\u0633 \u0633\u0627\u062f\u0647 \u0648 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0641\u0631\u0627\u0648\u0627\u0646\u060c \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9\u06cc \u0627\u0632 \u067e\u0631\u0637\u0631\u0641\u062f\u0627\u0631\u062a\u0631\u06cc\u0646 \u0632\u0628\u0627\u0646\u200c\u0647\u0627 \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0634\u0646\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062a\u0633\u0644\u0637 \u0628\u0631 \u0627\u06cc\u0646 \u062f\u0648 \u0645\u0647\u0627\u0631\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0633\u06cc\u0631 \u0634\u063a\u0644\u06cc \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u0633\u0645\u062a \u0641\u0631\u0635\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u200c\u0646\u0638\u06cc\u0631\u06cc \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0648 \u0648\u0628 \u0628\u0627\u0632 \u06a9\u0646\u062f.<\/p>\n\n\n<div class=\"jet-listing-grid--50121\" style=\"\"><div class=\"jet-listing-dynamic-field-block zht-maktab-khooneh-course cb-fb2qc30r\"data-is-block=\"jet-engine\/dynamic-field\"><div class=\"jet-listing-dynamic-field__content\" >\n<div class=\"course-card\">\n    <div class=\"course-card-img\">\n        <img decoding=\"async\" \n            data-src=\"https:\/\/media1.maktabkhooneh.org\/CACHE\/images\/courses\/images\/python-advanced-66_XKh2lTO_1403-08-16-164738244\/1f480ce393376c388fd104bc95544548.webp?expire=4893471932&#038;token=c5ac8135cd77e32d3ab1c8e3c72b6ee3&#038;md5=xayBNc134y06scjjxytu4w==\" \n            alt=\"\u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 (\u067e\u06cc\u0634\u0631\u0641\u062a\u0647)\" \n            title=\"\u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 (\u067e\u06cc\u0634\u0631\u0641\u062a\u0647)\" \n            width=\"100%\" \n            height=\"auto\"\n           \n         src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n    <\/div>\n\n    <div class=\"course-details\">\n        <a href=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-mk387\/\" class=\"course-title\" target=\"_blank\" rel=\"noopener noreferrer\">\n            \u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 (\u067e\u06cc\u0634\u0631\u0641\u062a\u0647)        <\/a>\n\n        <div class=\"course-price\">\n            \n                <span class=\"real-price\">\n                                            \u06f1,\u06f9\u06f9\u06f9,\u06f0\u06f0\u06f0                                    <\/span>\n\n                <span>\n                    <span class=\"discounted-price\">\n                        \u06f1,\u06f3\u06f9\u06f0,\u06f0\u06f0\u06f0                    <\/span>\n                    <span class=\"price-currency\">\u062a\u0648\u0645\u0627\u0646<\/span>\n                <\/span>\n\n                                    <div class=\"discount-percentage\">\n                        \u06f3\u06f0%                    <\/div>\n                \n                    <\/div>\n        <button class=\"course-cta-button\" data-course-url=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-mk387\/\">\n            \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062e\u0631\u06cc\u062f        <\/button>\n    <\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<p>\u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc <a href=\"https:\/\/maktabkhooneh.org\/learn\/python\/\">\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a>\u060c <a href=\"https:\/\/maktabkhooneh.org\/learn\/web-design\/\">\u0622\u0645\u0648\u0632\u0634 \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a<\/a> \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0648 \u0622\u0645\u0648\u0632\u0634 \u062c\u0646\u06af\u0648 \u062f\u0631 \u0645\u06a9\u062a\u0628\u200c\u062e\u0648\u0646\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0648 \u062a\u06a9\u0646\u06cc\u06a9\u200c\u0647\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u0627\u06cc\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648 \u067e\u0631\u0648\u0698\u0647\u200c\u0645\u062d\u0648\u0631 \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f. \u0628\u0627 \u0634\u0631\u06a9\u062a \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u060c \u0634\u0645\u0627 \u0646\u0647 \u062a\u0646\u0647\u0627 \u062f\u0627\u0646\u0634 \u062a\u0626\u0648\u0631\u06cc \u0628\u0644\u06a9\u0647 \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0631\u0627 \u06a9\u0633\u0628 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u0627\u0642\u062f\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0627 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u060c \u0642\u062f\u0645\u06cc \u0628\u0632\u0631\u06af \u0628\u0647 \u0633\u0648\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u0646 \u0628\u0647 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0628\u0631\u062f\u0627\u0631\u06cc\u062f. \u0622\u06cc\u0646\u062f\u0647 \u0634\u063a\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646\u200c\u0647\u0627 \u0648 \u0633\u0631\u0645\u0627\u06cc\u0647\u200c\u06af\u0630\u0627\u0631\u06cc \u062f\u0631 \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u0632\u0627\u0631 \u06a9\u0627\u0631 \u0628\u0647 \u0634\u062f\u062a \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f\u060c \u062a\u0636\u0645\u06cc\u0646 \u06a9\u0646\u06cc\u062f!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0633\u0627\u062e\u062a \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0646\u06af\u0648 \u06cc\u06a9\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0648\u0631\u0648\u062f \u0628\u0647 \u062f\u0646\u06cc\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0648 \u0645\u062d\u0628\u0648\u0628 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u0628\u0647\u200c\u0633\u0631\u0639\u062a \u0648 \u0628\u0627 \u0628\u0647\u0631\u0647\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0635\u0648\u0644 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627\u060c \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0648 \u067e\u0648\u06cc\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. Django \u0628\u0627 \u0641\u0631\u0627\u0647\u0645 \u06a9\u0631\u062f\u0646 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u060c \u0627\u0645\u0646\u06cc\u062a \u0628\u0627\u0644\u0627 \u0648 \u062a\u0648\u0633\u0639\u0647 \u0633\u0631\u06cc\u0639\u060c [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":46928,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,9],"tags":[],"class_list":["post-46923","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming-and-it-training","category-python-articles"],"_links":{"self":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/46923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/comments?post=46923"}],"version-history":[{"count":7,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/46923\/revisions"}],"predecessor-version":[{"id":67821,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/46923\/revisions\/67821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/media\/46928"}],"wp:attachment":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/media?parent=46923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/categories?post=46923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/tags?post=46923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}