You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
import random
|
|
from rest_framework.generics import GenericAPIView
|
|
from rest_framework.response import Response
|
|
from rest_framework import serializers
|
|
|
|
from rest_framework.authtoken.models import Token
|
|
from apps.account.models import User
|
|
|
|
class HomeSerializer(serializers.Serializer):
|
|
token = serializers.CharField()
|
|
|
|
from utils.countries import countries
|
|
|
|
|
|
# test class generate token
|
|
class HomeView(GenericAPIView):
|
|
serializer_class = HomeSerializer
|
|
|
|
def get(self, request):
|
|
emails = ["zahra@gmail.com", "john.doe@example.com", "alice@example.com"]
|
|
phone_numbers = ["09012037621", "09012037615", "09012045432"]
|
|
fullnames = ["Alireza", "John Doe", "Alice Smith"]
|
|
# انتخاب رندوم از هر لیست
|
|
email = random.choice(emails)
|
|
phone_number = random.choice(phone_numbers)
|
|
fullname = random.choice(fullnames)
|
|
# ساخت کاربر جدید
|
|
user = User.objects.create(
|
|
email=email,
|
|
phone_number=phone_number,
|
|
fullname=fullname,
|
|
)
|
|
# ایجاد توکن برای کاربر
|
|
token, created = Token.objects.get_or_create(user=user)
|
|
|
|
return Response({'token': token.key})
|
|
|
|
class CountryView(GenericAPIView):
|
|
|
|
def get(self, request):
|
|
return Response(countries, status=200)
|
|
|