Burada bu soru için belge var biliyorum https://docs.djangoproject.com/en/1.9/topics/auth/customizing/, ancak kullanım durumumda bazı açıklamalara ihtiyacım var.django'da Özel Kullanıcı ile Özel Kimlik Doğrulama?
Temel olarak oluşturduğum bir api var. Bu API'nin yaptığı şey, kullanıcı form verilerini harici bir URL'ye gönderir ve gönderildikten sonra, veriler bu harici URL'ler veritabanına kaydedilir.
Belirli bir kullanıcıyı başka bir api çağrısı aracılığıyla alabilirim. Kullanıcı bir nesne olarak iade edilir. Şimdi bu kullanıcıyı sistemimde kullanarak django.contrib.auth kullanarak sonlandırmaya çalışıyorum ama ne çalışıyorum. İşte
benim süreçtir: Ben NEW_APP en arka uç dosyasında benim settings.py dosyasınınAUTHENTICATION_BACKENDS =(
'new_app.backends.SettingsBackend',
'django.contrib.auth.backends.ModelBackend',
)
B. için bir özel kimlik doğrulama arka uç eklendi
A. Aşağıdaki kod var:
: bir oturum açma görünümündeclass SettingsBackend(object):
def authenticate(self, username=None, password=None):
if username and password:
user = api.get_user()
#add pk to user object to satisfy django error warning
user.pk = user.unique_field
return user
return None
def get_user(self, user_id):
try:
if self.user.pk == user_id:
return self.user
except:
return None
, bu kullanımında kullanıcı oturum çalışıyorum Hata auth.login(request, auth_user)
hattında oluştuğunu
'api.get_user()' object has no attribute 'save'
:
hata söyleyerek olsun.
Bunun sebebi, django.contrib.auth kullanıcı nesnesinin bir django modeli olduğunu düşündüğünden kaynaklanıyor. Öyleyse, benim senaryolarımın işe yaraması için bunu nasıl çözmeliyim? Zaman ayırdığın için teşekkürler.
Değiştirilmiş kullanıcı modelini ayarlarda belirtmiş misiniz? – RA123
@ RA123 yanıt için teşekkürler. Bunu yapmadım çünkü bu tipik bir django kullanıcı modeli değildi, bu yüzden gerekli olmadığını düşündüm. Yakın olduğumu hissediyorum, ancak belki de django.contrib.auth'u kullanmam ve kendi auth yöntemimi kullanmam gerekiyor ama bu konuda rehberliğe ihtiyacım var. – user875139
Lütfen ilk önce django'nun kullanıcı modeli – RA123