-
Notifications
You must be signed in to change notification settings - Fork 13
Conversation
Привет! Предлагаю в существующем пакете django/example создать следующие подпакеты:
Начать предлагаю с list и details actions, чтобы заработало основное ядро. После этого уже будем прикручивать stories по одной. Что думаешь? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Work in progress. Don't merge.
…s contex_processors
С сериализаторами и урлами все ясно, но пока все равно не до конца понимаю как работает Injector. Завтра попробую все реализовать, думаю тогда и разберусь. P.S. Получается я наследуюсь от Injector, ставлю декоратор @model_view_set и работаю с этим как с обычным ModelViewSet от drf ? |
@proofit404 Привет! Пытаюсь одолеть ошибку: serializers/user.py from rest_framework import serializers
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'password') urls/api.py from rest_framework import routers
from example.api.sign_up import SignUoModelViewSet
router = routers.SimpleRouter()
router.register(r'users', SignUoModelViewSet)
urlpatterns = router.urls api/sign_up.py from dependencies.contrib.rest_framework import model_view_set
from dependencies import Injector, Package, operation
from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.response import Response
from example.serializers.user import UserSerializer
implemented = Package("example.implemented")
functions = Package("example.functions")
@model_view_set
class SignUoModelViewSet(Injector):
queryset = User.objects.all()
serializer_class = UserSerializer
sign_up = implemented.SignUp.register_user
@operation
def create(request, sign_up):
serializer = UserSerializer(request.data)
serializer.is_valid()
data = serializer.validated_data
result = sign_up.run(data, request)
if result.is_success:
return Response(status=status.HTTP_201_CREATED)
elif result.failed_on("compare_passwords"):
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
elif result.failed_on("validate_password_strength"):
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) |
Привет. Пока всё в верном направлении. Приложи полный traceback, пожалуйста. Так будет проще понять где засада. Сорцы можно коммитить даже неработающие. Так будет проще проводить review. По мелочи: serializer = UserSerializer(request.data)
serializer.is_valid()
data = serializer.validated_data В DI scope есть переменная Если нет в документации - это мой косяк. |
В самом P.S. Куда-нибудь в директ скинь мне свой адрес. Как этот PR смержим, мы тебе вышлем мерч dry-python. |
Any news so far? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the architecture point of view it's perfect! Good job. Thanks!
delete intermediate alias for validated data
I have a question about authentification.Do I have to use |
In my opinion, it's better to use token authentication or JWT authentication for APIs. |
And last question for today. Why we talk in english? ) |
Потому что я забыл переключиться и ревьювил по умолчанию)). |
@yulai46 any news? 🙏 |
Looks like this is going nowhere. |
@proofit404 Простите, на работе завал, думал что смогу совместить но не вышло. Но как будет время я обязательно закончу, если конечно кто то меня не опередит. |
Круто! Обязательно напиши feedback по этому поводу) |
No description provided.