জ্যাঙ্গো অ্যাডমিন পাসওয়ার্ড কীভাবে পুনরায় সেট করবেন?


447

আমি জ্যাঙ্গো (সংস্করণ 1.3) ব্যবহার করছি এবং অ্যাডমিনের ব্যবহারকারীর নাম এবং পাসওয়ার্ড উভয়ই ভুলে গেছি। দু'জনকে কীভাবে রিসেট করবেন?

এবং অ্যাডমিনে কোনও সাধারণ ব্যবহারকারী তৈরি করা এবং তারপরে প্রশাসকের স্থিতিটি সরিয়ে ফেলা সম্ভব?

উত্তর:


777
python manage.py changepassword <user_name>

দস্তাবেজগুলি দেখুন


7
ঠিক বুঝতে পেরেছি যে আপনি বলেছিলেন যে আপনি ব্যবহারকারীর নাম ভুলে গেছেন ... 'প্রশাসক' আমার উত্তরটিতে ব্যবহারকারীর নাম হ'ল তখন আর খুব বেশি সহায়তা হবে না!
জেমসও

8
@ ব্যবহারকারী 49 49 16 16১ you আপনি যদি ব্যবহারকারীর নাম মনে না রাখেন তবে এটি বরং অদ্ভুত পছন্দ। :-)
DrTyrsa

1
আপনি "অ্যাডমিন" থেকে অন্য সঠিক ব্যবহারকারীর নাম ব্যবহারকারীর নাম পরিবর্তন করতে পারেন। : ডি
এমএক্সআই 1

4
জাঙ্গো সেরা সবকিছু ঠিক এত সহজ
DMTintner

4
আপনি যদি ব্যবহারকারীর নাম ভুলে গেছেন তবে আপনি manage.py createsuperuser২ য় সুপারউসার তৈরি করতে পারেন এবং তারপরে আসলটি খুঁজে পেতে ব্যবহারকারীদের তালিকাটি দেখতে পারেন। তারপরে আসলটি হিসাবে লগ ইন করুন এবং নতুন সুপারউসারটি মুছুন।
শ্যাকার

173
  1. python manage.py createsuperuser অন্য একটি সুপারইউসার তৈরি করবে, আপনি অ্যাডমিনে লগ ইন করতে এবং আপনার ব্যবহারকারীর নামটি স্মরণে রাখতে সক্ষম হবেন।
  2. হ্যাঁ, না কেন।

সাধারণ ব্যবহারকারীর সুবিধার্থে একটি শেল খুলুন python manage.py shellএবং চেষ্টা করুন:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()

যদি এটি সম্ভব হয় তবে কীভাবে এটি করা যায়?
আইএএমএইচ 1 কেসি 13

এই পদ্ধতির সাথে দেখে মনে হয় যে ব্যবহারকারী
জ্যাঙ্গো

3
@ লুকা ফ্যাবব্রি আপনাকেও সেট করতে হবেuser.is_staff = True
অ্যারন ম্যাকমিলিন

122

আপনি কনসোলের মাধ্যমে চেষ্টা করতে পারেন:

python manage.py shell

তারপরে শেলটিতে নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করুন

from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)

সিস্টেমের সমস্ত সুপার ব্যবহারকারীদের তালিকা তৈরি করবে। আপনি যদি তালিকা থেকে আপনার ব্যবহারকারী নামটি সনাক্ত করেন:

usr = User.objects.get(username='your username')
usr.set_password('raw password')
usr.save()

এবং আপনি একটি নতুন পাসওয়ার্ড সেট করেছেন (:


12
User.objects.filter(is_superuser=True)
DrTyrsa

pip install django-extensions, এটি যোগ করুন installed appsএবং চালান ./manage.py shell_plusUserবর্গ উপলব্ধ করা হবে এবং আপনি যা করতে পারেন password-change
টিমো

এই পদ্ধতিটি ব্যবহারকারীকে কোনও বৈধতা ছাড়াই যে কোনও পাসওয়ার্ড সেট করতে দেয়। আপনি এইভাবে একটি খুব সাধারণ পাসওয়ার্ড সেট করতে পারেন (কেবল পরীক্ষার উদ্দেশ্যে), যা গ্রহণযোগ্য উত্তর পদ্ধতি মঞ্জুরি দেয় না।
গৌতম জে


14

এটি খুব ভাল প্রশ্ন।

পাইথন ম্যানেজ.পি চেঞ্জপ্যাসওয়ার্ড ব্যবহারকারীর নাম

উদাহরণ: -

python manage.py changepassword mickey

11

নতুন সেটআপটি ব্যবহারকারী তৈরি করতে প্রথমে চালানো উচিত python manage.py createsuperuser। দেখে মনে হচ্ছে অ্যাডমিনে লগইন করার জন্য কোনও ডিফল্ট ব্যবহারকারীর পাসওয়ার্ড নেই।


9

ব্যবহারকারীর নাম এবং পাসওয়ার্ড পুনরুদ্ধার করার সেরা উপায়গুলির মধ্যে একটি হল এগুলি দেখতে এবং আপডেট করা। ব্যবহারকারী মডেল এটি করার জন্য একটি নিখুঁত উপায় সরবরাহ করে।

এই ক্ষেত্রে, আমি জাজানো 1.9 ব্যবহার করছি

  1. আপনার মূল ডিরেক্টরিতে নেভিগেট করুন i, e। যেখানে আপনি "ম্যানেজ.পি" ফাইলটি আপনার কনসোল বা অন্যান্য অ্যাপ্লিকেশন যেমন গিট ব্যবহার করে অবস্থিত।
  2. "পাইথন ম্যানেজ.পি শেল" কমান্ডটি ব্যবহার করে পাইথন শেলটি পুনরুদ্ধার করুন।
  3. "Django.contrib.auth.models থেকে ব্যবহারকারী আমদানি করুন" নিম্নলিখিত কমান্ডটি লিখে ব্যবহারকারী মডেলটি আমদানি করুন
  4. নীচের কমান্ডটি "ব্যবহারকারীদের = ব্যবহারকারী.ওবজেক্টস সব ()" লিখে সমস্ত ব্যবহারকারীকে পান
  5. ব্যবহারকারীর একটি তালিকা মুদ্রণ করুন পাইথন 2 এর জন্য ব্যবহারকারীরা "মুদ্রণ ব্যবহারকারীদের" কমান্ডটি ব্যবহার করেন পাইথন 3-এর ব্যবহারকারীরা "মুদ্রণ (ব্যবহারকারী)" কমান্ডটি ব্যবহার করেন প্রথম ব্যবহারকারী সাধারণত প্রশাসক হন।

  6. আপনি তাদের ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে চান এমন ব্যবহারকারী নির্বাচন করুন

    "user = users[0]"

  7. পাসওয়ার্ড সেট করুন

    user.set_password('name_of_the_new_password_for_user_selected')

  8. নতুন পাসওয়ার্ড সংরক্ষণ করুন

    "user.save()"

সার্ভারটি শুরু করুন এবং ব্যবহারকারীর নাম এবং আপডেট হওয়া পাসওয়ার্ড ব্যবহার করে লগ ইন করুন।


এই পদ্ধতির সুবিধাটি manage.py changepasswordহ'ল আপনি যে পাসওয়ার্ডগুলি ব্যবহার করতে পারবেন বা ব্যবহার করতে পারবেন না তার মধ্যে সীমাবদ্ধ নেই - ব্যবহারকারীর ক্রপের সাথে আর খুব বেশি মিল নেই। (এটা আমার দেব পরিবেশে আমি দুর্বল পাসওয়ার্ড সমর্থনে করছি না আপনি সর্বদা উত্পাদনে শক্তিশালী পাসওয়ার্ড ব্যবহার করা উচিত।।।)
Shashwat ব্ল্যাক

5

আপনি কোনও সেটআপ প্রশ্নের ভুল উত্তরও দিতে পারেন এবং আপনার কর্মীদের শূন্য থাকতে পারে। এক্ষেত্রে পোস্টগ্রিজের দিকে যেতে:

obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id           | 1
is_superuser | f
is_staff     | f
...

ঠিক করতে, সরাসরি সম্পাদনা করুন:

update auth_user set is_staff='true' where id=1;

5

এটি করার দুটি উপায়:

changepassword ব্যবস্থাপনা কমান্ড :

(env) $ python manage.py changepassword <username>

বা (যা কয়েকটি উত্তরের উপর প্রসারিত হয় তবে কোনও বর্ধিত ব্যবহারকারী মডেলের জন্য কাজ করে) জ্যাঞ্জো-অ্যাডমিন শেলটি নিম্নরূপ ব্যবহার করে:

(env) $ python manage.py shell

এটি শেল কমান্ড প্রম্পট নীচে হিসাবে উপস্থিত করা উচিত:

Python 3.7.2 (default, Mar 27 2019, 08:44:46) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>

তাহলে আপনি নিম্নলিখিতটি চাইবেন:

>>> from django.contrib.auth import get_user_model
>>> User = get_user_model()
>>> user = User.objects.get(username='admin@hug.com')
>>> user.set_password('new password')
>>> user.save()
>>> exit()

এনবি কেন আমি এই প্রশ্নের উত্তর দিয়ে এই প্রশ্নের উত্তর দিয়েছি?

কারণ, যেমনটি বলা হয়েছে, User = get_user_model()আপনার নিজস্ব কাস্টম Userমডেলগুলির জন্য কাজ করবে । from django.contrib.auth.models import Userএরপরে ব্যবহার করা User.objects.get(username='username')নিম্নলিখিত ত্রুটিটি ফেলে দিতে পারে:

AttributeError: Manager isn't available; 'auth.User' has been swapped for 'users.User'

4

আপনি যদি অ্যাডমিন ব্যবহারকারী তৈরি করতে ভুলে createsuperuserযান manage.pyতবে প্রথমে কমান্ড দিয়ে একটি তৈরি করুন তারপরে পাসওয়ার্ডটি পরিবর্তন করুন।


4

আপনি এটি চেষ্টা করতে পারেন:

1. কনসোল ছাড়াই সুপারইজার পাসওয়ার্ড পরিবর্তন করুন

python manage.py changepassword <username>

2. কনসোলের মাধ্যমে সুপারজারের পাসওয়ার্ড পরিবর্তন করুন

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


1
লিখিত কোডের পরিবর্তে স্ক্রিনশট ব্যবহার করা খুব খারাপ অভ্যাস। পোপেল আপনার কোডটি পরীক্ষার জন্য অনুলিপি-পেস্ট করতে পারে না এবং এটি সাইট-সন্ধানের জন্য উপলভ্য নয়
ফ্যালেনএঞ্জেল

3

আপনি এখানে তৈরি হিসাবে ব্যবহারকারীর নাম জানেন না যদি ক্ষেত্রে। উপরের @ ফ্যালেনএঞ্জেল দ্বারা বর্ণিত হিসাবে আপনি ব্যবহারকারীদের পেতে পারেন।

python manage.py shell 
from django.contrib.auth.models import User
usrs = User.objects.filter(is_superuser=True)
#identify the user
your_user = usrs.filter(username="yourusername")[0]
#youruser = usrs.get(username="yourusername")
#then set the password

তবে আপনি নিজের স্বাধীন ব্যবহারকারী মডেলটি তৈরি করেছেন এমন ইভেন্টে। একটি সাধারণ ক্ষেত্রে হ'ল আপনি যখন ডিফল্ট ব্যবহারকারীর নামের পরিবর্তে ইমেলটি ব্যবহারকারীর নাম হিসাবে ব্যবহার করতে চান। সেক্ষেত্রে আপনার ব্যবহারকারীর মডেলটি কোথাও যেমন আপনার_অ্যাক্সেন্টস_অ্যাপ.মোডেলগুলি নিয়ে থাকেন তবে উপরের সমাধানটি কাজ করবে না। এই ক্ষেত্রে আপনি পরিবর্তে get_user_model পদ্ধতিটি ব্যবহার করতে পারেন

from django.contrib.auth import get_user_model 
super_users = get_user_model().objects.filter(is_superuser=True)
#proceed to get identify your user
# and set their user password

3

আপনি যদি আপনার প্রশাসককে ভুলে যান তবে আপনাকে ব্যবহার করে নতুন ব্যবহারকারী তৈরি করতে হবে

python manage.py createsuperuser <username>

এবং পাসওয়ার্ডের changepassword জন্য ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করার জন্য জাঙ্গোর জন্য সিএলআই কমান্ড রয়েছে

python manage.py changepassword <username>

অথবা

django-admin changepassword <username>

বা জাজানো এনভিতে এই কোডটি চালান

from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('new password')
u.save()

2

আরেকটি বিষয় যা লক্ষণীয়, তা হ'ল আপনার ব্যবহারকারীর অবস্থা is_staffসক্রিয় হিসাবে সেট করা । কমপক্ষে, এটি আমার জন্য কাজ করে তোলে। আরও বিশদের জন্য, superuserলোকেরা উপরে বর্ণিত হিসাবে আমি অন্যটি তৈরি করেছি । তারপরে আমি ডাটাবেস টেবিলটিতে যাই auth_userএবং এটির is_staffপতাকাঙ্ক সেট করা আছে কিনা তা নিশ্চিত করার জন্য সেই ব্যবহারকারীর নামটি অনুসন্ধান করি 1। এটি অবশেষে আমাকে adminসাইটে লগ ইন করার অনুমতি দেয় ।


2

"পাইথন ম্যানেজ.পি ক্রিয়েটিউপারুসার" কমান্ড দিয়ে একটি নতুন সুপারসার তৈরি করুন। নতুন সুপার ব্যবহারকারী হিসাবে লগইন করুন। 'ব্যবহারকারীদের' লিঙ্কে ক্লিক করুন। তারপরে আপনি মুছতে চান এমন ব্যবহারকারীকে ক্লিক করুন। ফর্ম পৃষ্ঠার শেষে ব্যবহারকারী মুছতে ক্লিক করুন।

দ্রষ্টব্য - উপরের প্রক্রিয়াটি সেই নির্দিষ্ট ব্যবহারকারীর দ্বারা করা ক্রিয়াকলাপ লগগুলিতে পরিবর্তন আনবে।



1

ব্যবহার

পাইথন ম্যানেজ.পি ডাম্পটাটা

তারপরে শেষটি দেখুন আপনি ব্যবহারকারীর নামটি খুঁজে পাবেন


0

সর্বোত্তম উপায় হ'ল কেবল আপনার টার্মিনালে গিয়ে টাইপ করুন

python manage.py createsuperuser

এবং আবার অন্য পাসওয়ার্ড এবং ব্যবহারকারীর নাম butোকান তবে আপনি বেশিরভাগ ক্ষেত্রে এর আগে আপনার তৈরি কিছু প্রোফাইল হারাবেন।


0

আমি মনে করি, কমান্ড লাইনে আরও ভাল উপায়

পাইথন ম্যানেজ.পি ক্রিয়েটিউপারুসার


0

এটি খুব সহজেই আপনার কমান্ডলাইনে এই কমান্ডটি টাইপ করুন

পাইথন ম্যানেজ.পি চেঞ্জ পাসওয়ার্ড আপনার ব্যবহারকারী নাম


-1

ব্যবহারকারীর নাম পাওয়ার আরও একটি উপায় (এবং বেশিরভাগ তথ্য) হ'ল সরাসরি ডাটাবেস অ্যাক্সেস করা এবং টেবিলগুলি থেকে তথ্যটি পড়া।

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