উত্তর:
আপনি অন্য কোনও প্রতিক্রিয়া হিসাবে ভিউ থেকে এটি ফিরে।
from django.http import HttpResponseForbidden
return HttpResponseForbidden()
raise PermissionDenied
আপনাকে আপনার কাস্টম 403 দর্শনটি দেখানোর সুযোগ রয়েছে
আপনি যদি কোনও ব্যতিক্রম বাড়াতে চান তবে আপনি ব্যবহার করতে পারেন:
from django.core.exceptions import PermissionDenied
def your_view(...):
raise PermissionDenied()
এটি এখানে নথিভুক্ত করা হয়:
https://docs.djangoproject.com/en/stable/ref/views/#the-403-http-forbidden-view
পুনরুদ্ধারের বিপরীতে HttpResponseForbidden
, উত্থাপনের PermissionDenied
ফলে 403.html
টেমপ্লেটটি ব্যবহার করে ত্রুটিটি রেন্ডার হয়ে যায় বা আপনি একটি কাস্টম "নিষিদ্ধ" ভিউ দেখানোর জন্য মিডলওয়্যার ব্যবহার করতে পারেন।
throw PermissionDenied
ব্যতীত কোনও ফাংশন কল হিসাবে না বলে ()
।
403 এইচটিটিপি ত্রুটিগুলির রেন্ডারিং নিয়ন্ত্রণ করতে আপনি বৈকল্পিকভাবে "403.html" নামে একটি কাস্টম টেম্পলেট সরবরাহ করতে পারেন ।
@ ডেভ-হোল্টার দ্বারা সঠিকভাবে নির্দেশিত হিসাবে, 403 টেমপ্লেট কেবল তখনই ব্যবহার করা যেতে পারে যদি আপনি PermissionDenied বাড়ান
নীচে কাস্টম টেমপ্লেটগুলি "403.html", "404.html" এবং "500.html" পরীক্ষা করতে ব্যবহৃত একটি নমুনা ভিউ রয়েছে; দয়া করে নিশ্চিত করুন যে DEBUG = প্রকল্পের সেটিংসে ভুয়া বা কাঠামোটি 404 এবং 500 এর পরিবর্তে কোনও ট্রেসব্যাক প্রদর্শন করবে।
from django.http import HttpResponse
from django.http import Http404
from django.core.exceptions import PermissionDenied
def index(request):
html = """
<!DOCTYPE html>
<html lang="en">
<body>
<ul>
<li><a href="/">home</a></li>
<li><a href="?action=raise403">Raise Error 403</a></li>
<li><a href="?action=raise404">Raise Error 404</a></li>
<li><a href="?action=raise500">Raise Error 500</a></li>
</ul>
</body>
</html>
"""
action = request.GET.get('action', '')
if action == 'raise403':
raise PermissionDenied
elif action == 'raise404':
raise Http404
elif action == 'raise500':
raise Exception('Server error')
return HttpResponse(html)
ত্রুটির সাথে বার্তা প্রেরণ এই ভাবে চেষ্টা করুন
from django.core.exceptions import PermissionDenied
raise PermissionDenied("You do not have permission to Enter Clients in Other Company, Be Careful")
Http404
কিন্তু নেইHttp403
? অসঙ্গতি কেন?