ব্যবহারকারীরা জ্যাঙ্গোতে তাদের নিজস্ব পাসওয়ার্ড পরিবর্তন করতে পারে এমন কোনও কোডে আমাকে কী নির্দেশ করতে পারে?
ব্যবহারকারীরা জ্যাঙ্গোতে তাদের নিজস্ব পাসওয়ার্ড পরিবর্তন করতে পারে এমন কোনও কোডে আমাকে কী নির্দেশ করতে পারে?
উত্তর:
জাজানো একটি ব্যবহারকারী প্রমাণীকরণ সিস্টেম নিয়ে আসে। এটি ব্যবহারকারীর অ্যাকাউন্ট, গোষ্ঠী, অনুমতি এবং কুকি ভিত্তিক ব্যবহারকারী সেশনগুলি পরিচালনা করে। এই দস্তাবেজটি কীভাবে কাজ করে তা ব্যাখ্যা করে।
জ্যাঙ্গো পাসওয়ার্ড কীভাবে পরিবর্তন করবেন
দেখুন পাসওয়ার্ড পরিবর্তনের ধারা
আপনার প্রকল্পে নেভিগেশন যেখানে manage.pyফাইল রয়েছে
$ python manage.py shell
স্ক্রিপ্টগুলির নীচে টাইপ করুন:
django.contrib.auth.models থেকে ব্যবহারকারী আমদানি করে
u = User.objects.get (ব্যবহারকারীর নাম__েক্সট = 'জন')
u.set_password ('নতুন পাসওয়ার্ড')
u.save ()
আপনি সাধারণ manage.pyকমান্ডটি ব্যবহার করতে পারেন :
manage.py changepassword *username*
দু'বার নতুন পাসওয়ার্ড লিখুন।
থেকে পরিবর্তন পাসওয়ার্ডগুলি ডক্সে অধ্যায়।
আপনি যদি django.contrib.adminআপনার INSTALLED_APPS, আপনি এখানে যেতে পারেন: example.com/path-to-admin/password_change/যা আপনার পুরানো পাসওয়ার্ড নিশ্চিত করুন এবং দুইবার নতুন পাসওয়ার্ড দিতে একটি ফর্ম থাকবে।
এটি শেল প্রবেশের প্রয়োজন ছাড়াই পাসডাব্লু এবং পাসওয়ার্ড পুনরায় প্রবেশ করান
python manage.py changepassword <username>
or
/manage.py changepassword <username>
শেল ব্যবহার করে
python manage.py shell
from django.contrib.auth.models import User
users=User.objects.filter(email='<user_email>')
#you can user username or etc to get users query set
#you can also use get method to get users
user=users[0]
user.set_password('__enter passwd__')
user.save()
exit()
এই টিউটোরিয়ালটি ফাংশন ভিত্তিক দর্শনগুলির সাথে এটি কীভাবে দেখায় তা দেখায়:
নথি দেখ:
from django.contrib import messages
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.forms import PasswordChangeForm
from django.shortcuts import render, redirect
def change_password(request):
if request.method == 'POST':
form = PasswordChangeForm(request.user, request.POST)
if form.is_valid():
user = form.save()
update_session_auth_hash(request, user) # Important!
messages.success(request, 'Your password was successfully updated!')
return redirect('change_password')
else:
messages.error(request, 'Please correct the error below.')
else:
form = PasswordChangeForm(request.user)
return render(request, 'accounts/change_password.html', {
'form': form
})
ইউআরএল ফাইল:
from django.conf.urls import url
from myproject.accounts import views
urlpatterns = [
url(r'^password/$', views.change_password, name='change_password'),
]
এবং অবশেষে, টেমপ্লেট:
<form method="post">
{% csrf_token %}
{{ form }}
<button type="submit">Save changes</button>
</form>
urls.py:
urlpatterns = [
url(r'^accounts/', include('django.contrib.auth.urls')),
টেমপ্লেট:
<a href="{% url 'password_change' %}">{% trans "Change password" %}</a>
এখানে নথিভুক্ত: https://docs.djangoproject.com/en/1.9/topics/auth/default/# using-the- ভিউ
একবার সিওরো সান্তিলির উত্তরে বর্ণিত url প্যাটার্নটি যুক্ত হয়ে গেলে, ব্যবহারকারীদের পাসওয়ার্ড পরিবর্তন করার অনুমতি দেওয়ার একটি দ্রুত উপায় হ'ল এডমিনের কার্যকারিতার জন্য তাদের "কর্মীদের অ্যাক্সেস" দেওয়া। আপনি যদি এগুলিকে কোনও গোষ্ঠীতে যুক্ত না করেন বা তাদের বিশেষ অনুমতি না দেন তবে তারা উদাহরণস্বরূপ / অ্যাডমিন পৃষ্ঠাতে গিয়ে তাদের পাসওয়ার্ড পরিবর্তন করতে পারে। কর্মীদের অ্যাক্সেস তাদের খালি হলেও পৃষ্ঠায় যেতে দেয়; উপরের ডান দিকের কোণায় তারা "পাসওয়ার্ড পরিবর্তন করুন" ক্লিক করতে এবং অ্যাডমিন ফানশনালিটি ব্যবহার করতে পারেন।
এই কমান্ডটি আমি ব্যবহার করেছি, যদি কেবল সেই নিক্ষেপ করতে আপনার সমস্যা হয় AttributeError: Manager isn't available; 'auth.User' has been swapped for 'users.User'।
python manage.py shell -c "from django.contrib.auth import get_user_model;
User = get_user_model();
u = User.objects.get(username='admin');
u.set_password('password123');
u.save()"
প্রতি ডকুমেন্টেশন , ব্যবহার করুন:
from django.contrib.auth.hashers import makepassword
এটি করার প্রধান কারণ হ'ল জাজানো ডাটাবেসে সঞ্চয় করতে হ্যাশ পাসওয়ার্ড ব্যবহার করে।
password=make_password(password,hasher='default')
obj=User.objects.filter(empid=emp_id).update(username=username,password=password)
আমি এই কৌশলটি কাস্টম ব্যবহারকারী মডেলের জন্য ব্যবহার করেছি যা AbstractUserমডেল থেকে প্রাপ্ত । আমি যদি আমি প্রযুক্তিগতভাবে শ্রেণি এবং সাবক্লাসটি ভুল বানান করেছিলাম তবে আমি কৌশলটি ভালভাবে কাজ করেছি sorry
@ সিড়োর জবাবের সাথে খুব মিল, তবে মূল প্রশ্নের সাথে আরও নির্দিষ্ট (সমস্ত প্রমাণীকরণের ভিউ যোগ না করে):
শুধু যোগ urlpatternsমধ্যে urls.py:
url('^change-password/$', auth_views.password_change, {'post_change_redirect': 'next_page'}, name='password_change'),
নোট যেটি post_change_redirectপাসওয়ার্ড পরিবর্তিত হওয়ার পরে পুনর্নির্দেশ করার url নির্দিষ্ট করে।
তারপরে, কেবল আপনার টেম্পলেটটিতে যুক্ত করুন:
<a href="{% url 'password_change' %}">Change Password</a>