{"id":403,"date":"2024-10-21T20:34:18","date_gmt":"2024-10-21T20:34:18","guid":{"rendered":"https:\/\/matlabkadeh.com\/?p=403"},"modified":"2024-10-21T20:34:45","modified_gmt":"2024-10-21T20:34:45","slug":"%d9%85%d8%b2%d8%a7%db%8c%d8%a7%db%8c-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-class-based-view%d9%87%d8%a7-%d8%af%d8%b1-django","status":"publish","type":"post","link":"https:\/\/matlabkadeh.com\/?p=403","title":{"rendered":"\u0645\u0632\u0627\u06cc\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Class Based View\u200c\u0647\u0627 \u062f\u0631 Django"},"content":{"rendered":"\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0645 \u062f\u0631\u0628\u0627\u0631\u0647 \u0646\u062d\u0648\u0647 \u0646\u0648\u0634\u062a\u0646 \u06cc\u06a9 view \u062f\u0631 Django \u0635\u062d\u0628\u062a \u06a9\u0646\u0645. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u062f\u0631 Django \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645\u060c \u062f\u0648 \u0631\u0627\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 view\u0647\u0627\u06cc \u062a\u0627\u0628\u0639\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0622\u0646\u0647\u0627 <strong>Function-Based View<\/strong> \u06cc\u0627 \u0628\u0647 \u0627\u062e\u062a\u0635\u0627\u0631 FBV \u0645\u06cc\u200c\u06af\u0648\u06cc\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u0633\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># urls.py\nfrom . import views\n\nurlpatterns = &#91;\n    path(\"\", views.index, name=\"index\"),\n]\n\n# views.py\nfrom django.http import HttpResponse\n\ndef index(request):\n    html = \"&lt;html&gt;&lt;body&gt;&lt;strong&gt;Hello, World!&lt;\/strong&gt;&lt;\/body&gt;&lt;\/html&gt;\"\n    return HttpResponse(html)<\/code><\/pre>\n\n\n\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u06a9\u0645\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u200c\u062a\u0631 \u0639\u0645\u0644 \u06a9\u0646\u06cc\u0645 \u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc <strong>GET<\/strong> \u0648 <strong>POST<\/strong> \u0631\u0627 \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645. \u0645\u0627\u0646\u0646\u062f \u06a9\u062f \u0632\u06cc\u0631:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># views.py\nfrom django.http import HttpResponse\n\ndef index(request):\n    if request.method == \"GET\":\n        html = \"&lt;html&gt;&lt;body&gt;&lt;strong&gt;Hello, World!&lt;\/strong&gt;&lt;\/body&gt;&lt;\/html&gt;\"\n        return HttpResponse(html)<\/code><\/pre>\n\n\n\n<p>\u0631\u0627\u0647 \u062f\u06cc\u06af\u0631\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0646\u0648\u0634\u062a\u0646 view \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0644\u0627\u0633 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0622\u0646 <strong>Class-Based View<\/strong> \u06cc\u0627 CBV \u0645\u06cc\u200c\u06af\u0648\u06cc\u0646\u062f. \u06a9\u062f \u0632\u06cc\u0631 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0633\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># urls.py\nfrom . import views\n\nurlpatterns = &#91;\n    path(\"\", views.Home.as_view(), name=\"index\"),\n]\n\n# views.py\nfrom django.views import View\nfrom django.http import HttpResponse\n\nclass Home(View):\n    def get(self, request, *args, **kwargs):\n        html = \"&lt;html&gt;&lt;body&gt;&lt;strong&gt;Hello, World!&lt;\/strong&gt;&lt;\/body&gt;&lt;\/html&gt;\"\n        return HttpResponse(html)<\/code><\/pre>\n\n\n\n<p>\u062f\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 CBV\u0647\u0627\u060c \u0635\u062d\u0628\u062a \u0627\u0632 \u0645\u0641\u0647\u0648\u0645 <strong>Object<\/strong> \u0648 <strong>Class<\/strong> \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0634\u0627\u06cc\u062f \u062a\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0686\u06cc\u0632\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0646\u0628\u0648\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u0646\u06a9\u062a\u0647 \u0627\u0635\u0644\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0645 \u0628\u0647 \u0622\u0646 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0628\u0627 CBV\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u0628\u0647\u0631\u0647\u200c\u0645\u0646\u062f \u0634\u0648\u06cc\u0645.<\/p>\n\n\n\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0647 CBV \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u062a\u062f <strong>get<\/strong> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0634\u0648\u062f\u060c \u0686\u0646\u062f \u062a\u0627\u0628\u0639 \u062f\u06cc\u06af\u0631 \u0647\u0645 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u06a9\u0647 \u0628\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0622\u0646\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u06a9\u062f \u062a\u0645\u06cc\u0632\u062a\u0631 \u0648 \u0642\u0627\u0628\u0644 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0628\u0647 \u0633\u0647 \u062a\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u0645.<\/p>\n\n\n\n<p>\u0627\u0628\u062a\u062f\u0627 \u06a9\u062f \u0632\u06cc\u0631 \u0648 \u062e\u0631\u0648\u062c\u06cc \u06a9\u0646\u0633\u0648\u0644 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Home(View):\n\n    def setup(self, request, *args, **kwargs):\n        print(\"setup function\")\n        return super().setup(request, *args, **kwargs)\n    \n    def dispatch(self, request, *args, **kwargs):\n        print(\"dispatch function\")\n        return super().dispatch(request, *args, **kwargs)\n    \n    def get_context_data(self, **kwargs):\n        print(\"get_context_data function\")\n        context = {}\n        context&#91;\"text\"] = \"&lt;html&gt;&lt;body&gt;&lt;strong&gt;Hello, World!&lt;\/strong&gt;&lt;\/body&gt;&lt;\/html&gt;\"\n        context.update(kwargs)\n        return context\n    \n    def get(self, request, *args, **kwargs):\n        print(\"GET function\")\n        context = self.get_context_data()\n        html = context&#91;\"text\"]\n        return HttpResponse(html)\n<\/code><\/pre>\n\n\n\n<p>\u062e\u0631\u0648\u062c\u06cc \u06a9\u0646\u0633\u0648\u0644:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>setup function\ndispatch function\nGET function\nget_context_data function<\/code><\/pre>\n\n\n\n<p>\u0647\u0645\u0627\u0646\u200c\u0637\u0648\u0631 \u06a9\u0647 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0627\u0628\u0639 <strong>setup<\/strong>\u060c \u0633\u067e\u0633 <strong>dispatch<\/strong> \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a <strong>get<\/strong> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062e\u0644\u0627\u0635\u0647:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>setup<\/strong> \u0628\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0648 \u067e\u0631\u062f\u0627\u0632\u0634\u200c\u0647\u0627\u06cc \u0627\u0628\u062a\u062f\u0627\u06cc\u06cc \u0628\u0647\u200c\u06a9\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f.<\/li>\n\n\n\n<li><strong>dispatch<\/strong> \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0645\u062a\u062f\u0647\u0627\u06cc <strong>GET<\/strong> \u06cc\u0627 <strong>POST<\/strong> \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li><strong>get_context_data<\/strong> \u0645\u062d\u062a\u0648\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631 template \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u0633\u0647 \u0645\u062a\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u06a9\u062f \u0645\u0631\u062a\u0628\u200c\u062a\u0631\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645. \u0646\u0638\u0631 \u0634\u0645\u0627 \u0686\u06cc\u0633\u062a\u061f<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u062f\u0648 \u0631\u0648\u0634 \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 view \u062f\u0631 Django \u06cc\u0639\u0646\u06cc Function-Based View \u0648 Class-Based View \u067e\u0631\u062f\u0627\u062e\u062a\u0645. \u0628\u0627 \u0627\u0631\u0627\u0626\u0647 \u06a9\u062f\u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0645 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 \u0645\u062a\u062f\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u200c\u062a\u0631\u06cc \u0645\u062b\u0644 setup\u060c dispatch \u0648 get_context_data \u062f\u0631 Class-Based View\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f \u062a\u0627 \u06a9\u062f\u0647\u0627\u06cc \u062a\u0645\u06cc\u0632\u062a\u0631 \u0648 \u0633\u0627\u062e\u062a\u0627\u0631\u0645\u0646\u062f\u062a\u0631\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0647\u062a\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u0648 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u062f \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n","protected":false},"author":1,"featured_media":405,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[12,10,9,13,11,16,15,14,17],"class_list":["post-403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-django","tag-cbv-vs-fbv","tag-class-based-view","tag-django","tag-django-views","tag-function-based-view","tag-----django","tag--dispatch--django","tag--setup--django","tag----django"],"_links":{"self":[{"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/posts\/403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=403"}],"version-history":[{"count":3,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions\/407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=\/wp\/v2\/media\/405"}],"wp:attachment":[{"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matlabkadeh.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}