জ্যাঙ্গোতে লগ আউট করার পরে কোথায় পুনর্নির্দেশ করবেন তা কীভাবে কনফিগার করবেন?


90

আমি ভাবছি যে লগআউট করার পরে আমি ইউআরএলকে পুনর্নির্দেশের জন্য কোথায় সেট করতে পারি। আমি জানি আপনি লগইন ইউআরএল সেট করতে পারেন। আমি আমার হোম পৃষ্ঠায় পুনর্নির্দেশ করতে চাই।

উত্তর:


156

আধুনিক জ্যাঙ্গো (2017+?) এর একটি সেটিংস কল হয়েছে LOGOUT_REDIRECT_URL

পুরানো জ্যাঙ্গোস / আসল উত্তর

আপনার কোনও কিছুই ওভাররাইট বা মোড়ানোর দরকার নেই।

ডক্স অনুসারে, আপনি কেবল next_pageলগআউট দৃশ্যে যুক্তি সরবরাহ করতে পারেন । https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout

(r'^logout/$', 'django.contrib.auth.views.logout',
                          {'next_page': '/successfully_logged_out/'})

4
আপনি যদি সমস্ত লেখক ইউআরএলগুলির জেনেরিক আমদানি করে থাকেন তবে এটি কাজ করে না। নীচে @ ইয়েরুইজির উত্তরটি ব্যবহার করা সহজ
রানলুপ

@ রুনলুপ আমি এই অন্যান্য পদ্ধতির অনুমোদন দিই। কেবলমাত্র সমস্যাটি হ'ল আপনি যখন একবার বলেছেন লিঙ্কটি তৈরি করেন তখন এটি ব্যবহার করতে হবে। সুতরাং এটি যদি একটি স্ট্যান্ডার্ড বিল্ডে কাজ করে তবে এটি আরও নির্ভরযোগ্য। যদি তা না হয়, তবে পরবর্তী সহজ সমাধানটি বোধগম্য।
যুজি 'টোমিটা' টমিতা

আমি কীভাবে এই ইউআরএলটিকে ভিউ থেকে বিপরীত করব তা আমি আন্ডারস্যান্ডার করতে পারি না।
উল্কা

এটি একটি দুর্দান্ত সমাধান। আমি এটিকে সরাসরি লগইন পৃষ্ঠায় ঠেলে দিচ্ছি। এই লাইনের মাধ্যমে কোনও সিস্টেম বার্তা যুক্ত করার কোনও উপায় আছে কি? একটি পপআপ তৈরি করতে তাই? "আপনি সফলভাবে লগ আউট করেছেন"
arcee123

'পরের পৃষ্ঠার' ইউআরএলটির শুরুতে ফরোয়ার্ড স্ল্যাশ: '/ সাফল্য_লগড_আউট /' গুরুত্বপূর্ণ, জঞ্জো "লগআউট" ইউআরএলকে "সাফল্য_ব্লগড_আউট" ইউআরএল দিয়ে বোঝানোর চেষ্টা করে, এটি একটি নতুন 'অবৈধ' ইউআরএল তৈরি করে। আপনি যদি লগ আউট করার পরে ব্যবহারকারীদের আপনার লগইন পৃষ্ঠার সাথে উপস্থাপন করতে চান তবে জীবনকে কঠিন করে তোলে।
রিক্কা

62

একটি সহজ উপায়:

আপনার লগ-আউট অনুরোধ url এ 'পরবর্তী' প্যারামিটার যুক্ত করুন। উদাহরণ স্বরূপ:

<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>

তারপরে লগআউট ভিউটি আপনার জন্য কৌশলটি করবে।

লগইন-পুনর্নির্দেশের জন্য, আপনি কেবল সেটিংসে সেট করতে পারবেন py

LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'

35
অদ্ভুত যে এখানে কেবল একটি LOGOUT_REDIRECT_URL সম্পত্তি নেই।
রব গ্রান্ট


16
আমাদের এখনই 2017 আছে এবং লোগোইউT_REDIRECT_URL আসলে কাজ করছে :)
m.antkowicz

ভাল উত্তর. এটি আমার মধ্যে লেগে থাকা base.htmlএবং এটি ভুলে যাওয়া। : ডি (আমি ডেবিয়ান জেসিতে ভিনটেজ জ্যাঙ্গো ব্যবহার করছি: এস তাই নতুন সেটিংস উপলভ্য নয়))
আন্ডারস্কোর_ডি


14

আপনি আপনার সেটিং.পাই ফাইলটিতে LOGOUT_REDIRECT_URL ব্যবহার করে যে কোনও জায়গায় ব্যবহারকারীকে পুনর্নির্দেশ করতে পারেন

LOGOUT_REDIRECT_URL = 'url name to redirect'

9

বর্তমান পৃষ্ঠায় পুনর্নির্দেশ করুন

<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>

জ্যাঙ্গোতে পরীক্ষিত হয়েছে 9.৯৯।

আরও দেখুন: জ্যাঙ্গোর {% url%} টেমপ্লেট ট্যাগের মাধ্যমে কি ক্যোয়ারী প্যারামিটারগুলি পাস করা সম্ভব?


4
আপনাকে ধন্যবাদ, এটি ক্ষেত্রে আমাকে সাহায্য করেছিল, যখন LOGOUT_REDIRECT_URL না হয় (কোজ আমার পরীক্ষার এবং উত্পাদন পরিবেশে বিভিন্ন পাথ থাকে)।
Dmytro Gierman


4

এমনকি আপনি আপনার পরবর্তী প্যারামিটারের জন্য নামযুক্ত url ব্যবহার করতে পারেন:

<a href="{% url 'auth_logout' %}?next={% url 'homepage' %}"> Logout</a>

3

ডকস থেকে আপনি নিজের 'লগ-আউট পৃষ্ঠা' ওভাররাইড করে নিজের লগআউট ভিউ (যা কেবল সহজ মোড়ক হতে পারে) লিখতে পারেন।


3

আপনি যদি ক্লায়েন্ট স্তরে পুনর্নির্দেশের URL সেট করতে চান তবে আপনি এটিতে এটি করতে পারেন urls.py:

(r'^management/logout/$', 'django.contrib.auth.views.logout'),

এবং তারপরে টেমপ্লেটে:

<a href="{% url 'django.contrib.auth.views.logout' %}?next=/">
    Log out
</a>

যেখানে next, আপনি সঠিক URL টি নির্দেশ করেছেন to


1

যদি আপনি নিজের ইউআরএলগুলি সংজ্ঞায়িত করেছেন (এবং জেনেরিক লেখক ইউআরএলগুলি আমদানীকৃত নয়) এবং মানক জ্যাঙ্গো লেখক দর্শন ব্যবহার করছেন তবে সেগুলিতে আপনি কেবলমাত্র (টেম্পলেট_নাম = 'উদাহরণ.html') যুক্ত করতে পারেন।

path('logout/',auth_views.LogoutView.as_view(template_name='homepage.html'),name="logout")


0

আপনার প্রকল্পে সেটিংস.পি ফাইল যুক্ত করুন LOGOUT_REDIRECT_URL = '/'

আপনি লগআউট ডিফল্ট পুনঃনির্দেশের জন্য আমার সূচি পৃষ্ঠাটি ব্যবহার করতে পারেন এর মধ্যে আপনার URL লিখতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.