l
Size: a a a
l
BE
RB
BE
BE
BE
RB
BE
RB
BE
BE
BE
R
models.py
. Но тогда встает вопрос: как сохранять SID и ID при аутентификации:def auth(request, k_response = None):Допустим я везде при вызове методов требующих авторизации тыкаю SID, у этой системы есть время жизни SID. и при вызове любого метода с умершим сидом выдается ошибка. Получается я ловлю эту ошибку, и делаю логаут с апдейтом user как-то так
if request.method == 'POST':
if k_response is None:
response = kiasAuth(request.POST['Name'],request.POST['Psw'])
if not response['error']:
if username_present(request.POST['Name']):
print('user exists, login')
user.sid = response['sid']
user.kiasISN = response['kiasISN']
user = authenticate(request, username=request.POST['Name'], password=request.POST['Psw'])
else:
print('create user, login')
user = User.objects.create_user(request.POST['Name'], 'olo@test.ru', request.POST['Psw'])
user.save()
auth(request,response)
return render(request,'front/login.html',context =
{
'error_message':response['error'],
'message':response['message'],
'output':response['kiasISN'] + ' ' +response['sid'],
})
return render(request,'front/login.html')
def logout_view(request):?
logout(request)
user.SID = None
# Redirect to a success page.
D
models.py
. Но тогда встает вопрос: как сохранять SID и ID при аутентификации:def auth(request, k_response = None):Допустим я везде при вызове методов требующих авторизации тыкаю SID, у этой системы есть время жизни SID. и при вызове любого метода с умершим сидом выдается ошибка. Получается я ловлю эту ошибку, и делаю логаут с апдейтом user как-то так
if request.method == 'POST':
if k_response is None:
response = kiasAuth(request.POST['Name'],request.POST['Psw'])
if not response['error']:
if username_present(request.POST['Name']):
print('user exists, login')
user.sid = response['sid']
user.kiasISN = response['kiasISN']
user = authenticate(request, username=request.POST['Name'], password=request.POST['Psw'])
else:
print('create user, login')
user = User.objects.create_user(request.POST['Name'], 'olo@test.ru', request.POST['Psw'])
user.save()
auth(request,response)
return render(request,'front/login.html',context =
{
'error_message':response['error'],
'message':response['message'],
'output':response['kiasISN'] + ' ' +response['sid'],
})
return render(request,'front/login.html')
def logout_view(request):?
logout(request)
user.SID = None
# Redirect to a success page.
R
I
R
TC
# models.py
class Category(models.Model):
caption = models.CharField(
verbose_name='название',
max_length=255
)
parent = models.ForeignKey(
'self',
on_delete=models.CASCADE,
blank=True,
null=True,
)
class Company(models.Model):
caption = models.CharField(
verbose_name='название',
max_length=255,
blank=False,
null=False,
)
category = models.ManyToManyField(
Category
)
# views.py
def companies(request):
companies = Company.objects.all().order_by('pk')
return render(request, 'templ.html', {
'companies': companies,
})
# templ.html
{% for comp in companies %}
{{comp.category}}
{% endfor %}
appname.Category.None
DT
# models.py
class Category(models.Model):
caption = models.CharField(
verbose_name='название',
max_length=255
)
parent = models.ForeignKey(
'self',
on_delete=models.CASCADE,
blank=True,
null=True,
)
class Company(models.Model):
caption = models.CharField(
verbose_name='название',
max_length=255,
blank=False,
null=False,
)
category = models.ManyToManyField(
Category
)
# views.py
def companies(request):
companies = Company.objects.all().order_by('pk')
return render(request, 'templ.html', {
'companies': companies,
})
# templ.html
{% for comp in companies %}
{{comp.category}}
{% endfor %}
appname.Category.None
TC