@pydjango

Страница 1117 из 1273
ros
25.03.2018
04:54:24
кто говорил про телеграм?

Rodion
25.03.2018
04:54:48
кто говорил про телеграм?
Тот кто удалил свои сообщения

ros
25.03.2018
04:56:44
к django врятли имеет отношение тоже

SN
25.03.2018
04:59:22
кто говорил про телеграм?
Ого удалили смски ?

Google
SN
25.03.2018
04:59:46
Чтож я тоже удалил )

Fred
25.03.2018
07:27:41
чем же убунта лучше линукса ?) перечитал статейки почему то больше линукс нравиться
а чем процесоор от системного блока отличается? :D либо ты троль либо, рельно не понимаешь, что linux это все лишь ядро, на этом ядре есть множество дистрибутивов у примеру очень хороший дистрибутив LINUX MINT

Konstantin
25.03.2018
08:07:12
А подскажите, как нужно указать в модели, что при создании объекта, не нужно создавать объект указанный во внешнем ключе? Я пытаюсь сохранить объект, а он автоматом пытается создать ссылочный объект, и пишет что такой объект уже существует. Схема такая - с ангуляр фронта приходит запрос({"firstName":"vvvvvv","lastName":"vvvvvv","username":"vvvvvv","password":"&&&&&&&&&","password_confirm":"&&&&&&&&&","profile":{"doctor":{"id":32242,"name":"Анастасия Сергеевна Попова"}}}) , к сераилайзеру дефолтному рест_регистрейшн добавлено свойство профайл, в профайл сериалайзере добавлен доктор сериалайзер. В модели профайла указана ссылка на доктора как foreignKey.

Dan
25.03.2018
08:08:53
Объект создаёт не модель а сериализатор

Как вариант задать read_only

Konstantin
25.03.2018
08:10:55
Как вариант задать read_only
class DoctorSerializer(serializers.ModelSerializer): class Meta: model = Doctor fields = ('id', 'name') class ProfileSerializer(serializers.ModelSerializer): doctor = DoctorSerializer() class Meta: model = Profile fields = ('doctor', ) class RegistrationSerializer(DefaultRegisterUserSerializer): profile = ProfileSerializer() def init(self, *args, **kwargs): super().init(*args, **kwargs) self.Meta.fields = self.Meta.fields + ('profile',) def create(self, validated_data): data = validated_data.copy() print(data) if self.has_password_confirm: del data['password_confirm'] return self.Meta.model.objects.create_user(**data)

Как вариант задать read_only
а в каком из сериализаторов? в Профайл сериализаторе?

SN
25.03.2018
08:11:47
https://collect.chat/
с нуля я ищу. Таких.много

Rodion
25.03.2018
08:13:34
с нуля я ищу. Таких.много
Разбирай готовый код

Konstantin
25.03.2018
08:14:21
Как вариант задать read_only
class ProfileSerializer(serializers.ModelSerializer): doctor = DoctorSerializer() class Meta: model = Profile fields = ('doctor', ) read_only_fields = ('doctor',)

вот так не сработало, все равно возвращает - profile: doctor: id: Array(1)0: "doctor with this id already exists."

Google
SN
25.03.2018
08:15:16
Разбирай готовый код
Есть проект на гитхабе? покидайте плс.

для тг нашла в инете когда погуглил

Rodion
25.03.2018
08:16:39
Konstantin
25.03.2018
08:17:36
для тг нашла в инете когда погуглил
для телеграма у меня есть бот, сейчас кину ссылку

Rodion
25.03.2018
08:20:18
Konstantin
25.03.2018
08:21:22
а..

Maksim
25.03.2018
08:31:18
doctor = DoctorSerializer(read_only=True) Скорее всего имелось ввиду

SN
25.03.2018
08:42:04
django bot -telegram в гугл
не тг бот для сайта. Для сайта для сайтааа

Runinterface ?
25.03.2018
10:20:21
Ребят как обложить rest api на джанго rest framework авторизацией через токен только определенные методы?

Дмитрий
25.03.2018
10:42:18
permissions

Runinterface ?
25.03.2018
10:42:54
permissions
это декоратор?

permissions
@csrf_exempt def posts_list(request): if request.method == 'GET': snippets = Posts.objects.all() serializer = PostsSerializer(snippets, many=True) return JsonResponse(serializer.data, safe=False)

Дмитрий
25.03.2018
10:43:36
http://www.django-rest-framework.org/api-guide/permissions/

Runinterface ?
25.03.2018
10:43:52
permissions
@permission_classes((IsAuthenticated)) ругается на то что не может найти IsAuthenticated

Дмитрий
25.03.2018
10:44:09
установи для определенной вьюхи соотвествующий пермишион

Petr
25.03.2018
10:44:26
Runinterface ?
25.03.2018
10:44:35
ок ща попробую

установи для определенной вьюхи соотвествующий пермишион
@api_view(['GET']) @authentication_classes((SessionAuthentication, BasicAuthentication)) @permission_classes((IsAuthenticated, )) @csrf_exempt def posts_list(request): if request.method == 'GET': snippets = Posts.objects.all() serializer = PostsSerializer(snippets, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = PostsSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=201) return JsonResponse(serializer.errors, status=400) Вроде сделал но всеравно json возвращает без запроса токена

что не так делаю?

Google
Petr
25.03.2018
10:55:06
ты в доку смотрел?

Runinterface ?
25.03.2018
10:56:16
ты в доку смотрел?
IsAuthenticated я же сделал

в settings.py REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ) }

Andrey
25.03.2018
11:05:11
в settings.py REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ) }
Это пермишн по-умолчанию, спешу заметить. При таком параметре, все запросы будут требовать аутентификации, без указания иного. Чтобы требовал токен, необходимо определить бекенд авторизации.

Petr
25.03.2018
11:07:19
вообще есть же JWT, куда как приятнее

Andrey
25.03.2018
11:07:23
можно подробнее что сделать нужно?
http://www.django-rest-framework.org/api-guide/authentication/

вообще есть же JWT, куда как приятнее
jwt - не самое лучшее решение.

Владимир
25.03.2018
11:08:02
jwt - не самое лучшее решение.
а что сейчас лучше jwt?

Andrey
25.03.2018
11:08:22
а что сейчас лучше jwt?
Что-нибудь рукописное, например.

Владимир
25.03.2018
11:08:59
Что-нибудь рукописное, например.
например? у нас на проекте например рукописный jwt. он лучше чем jwt? ?

Andrey
25.03.2018
11:09:37
например? у нас на проекте например рукописный jwt. он лучше чем jwt? ?
Ахахахаха, ахахахаха, сейчас лопну от смеха.

Владимир
25.03.2018
11:09:49
Ахахахаха, ахахахаха, сейчас лопну от смеха.
ну а если без шуток, что лучше jwt?

Andrey
25.03.2018
11:10:44
ну а если без шуток, что лучше jwt?
Я и не шутил. jwt - быстро и ненадежно.

Выкидываешь его нафиг и пишешь собственный бекенд на токенах

Владимир
25.03.2018
11:11:11
Я и не шутил. jwt - быстро и ненадежно.
вопрос то другой, что лучше jwt? и чем оно ненадежно?

Andrey
25.03.2018
11:11:33
вопрос то другой, что лучше jwt? и чем оно ненадежно?
Пожалуйста: https://medium.com/@rahulgolwalkar/pros-and-cons-in-using-jwt-json-web-tokens-196ac6d41fb4

Виталий
25.03.2018
11:12:14
Hi All! подскажите как правильно забзать несколько параметров для адреса? С одним параметром сейчас елаю так: {% url 'hardware:json_get_hw_models' hw_type_id='0'%}".replace('0', hw_type_id). Как добавить второй параметр stock_id например не могу догнать

Andrey
25.03.2018
11:12:37
вопрос то другой, что лучше jwt? и чем оно ненадежно?
Я устану, но: самописный бекенд на токенах, без использования JWT! Вот, что лучше.

С третьего раза, надеюсь, донес.

Google
Владимир
25.03.2018
11:13:26
неа, не донес. лучшего так и не предложил. чем самописный бэк на токенах будет отличаться от jwt?

Andrey
25.03.2018
11:16:28
неа, не донес. лучшего так и не предложил. чем самописный бэк на токенах будет отличаться от jwt?
Тем, что: а) ты контролируешь алгоритм формирования токена; б) ты можешь установить время жизни токена; в) компроментация 1 токена не компроментирует пользователя этого токена (лайф-тайм 15 минут и всё, через 15 минут токен не валиден, тащи новый) - и это только по поверхности, то, что мой не самый просветленный ум может выдать "с размаху"

Владимир
25.03.2018
11:16:54
Admin
ERROR: S client not available

Konstantin
25.03.2018
11:21:56
А кто может подсказать, как сохранить ссылку на существующую сущность, при сериализации. Вот пример - class DoctorSerializer(serializers.ModelSerializer): class Meta: model = Doctor fields = ('id', 'name') def create(self, validated_data): return Doctor(**validated_data) class ProfileSerializer(serializers.ModelSerializer): #doctor = serializers.PrimaryKeyRelatedField(read_only=True) - если ставим эту строчку, то ссылка на доктора не сохраняется, если ставим read_only=False - то пытается сохранить доктора, и пишет что доктор уже сущестует doctor = serializers.SlugRelatedField(many=False, read_only=True, slug_field='id') class Meta: model = Profile fields = ('doctor','testData' ) def create(self, validated_data): print('create Profile instance') print(validated_data) return Profile(**validated_data) class RegistrationSerializer(DefaultRegisterUserSerializer): profile = ProfileSerializer() def init(self, *args, **kwargs): super().init(*args, **kwargs) self.Meta.fields = self.Meta.fields + ('profile',) self.Meta.depth = 2 def create(self, validated_data): profile_data = validated_data.pop('profile') data = validated_data.copy() if self.has_password_confirm: del data['password_confirm'] user = User.objects.create(**data) Profile.objects.create(user=user, **profile_data) return user

Andrey
25.03.2018
11:23:27
Не то, что я читал в первый раз, но тоже неплохо.

Ты уж прости. Я ещё не всегда могу грамотно выстраивать защиту. Поэтому, вот такой небольшой хаос.

Но да, он супер-быстрое решение.

Владимир
25.03.2018
11:31:33
вот как только кто-нибудь предложит лучшуу альтернативу jwt, так сразу можно будет менять, а сейчас не на что

Konstantin
25.03.2018
11:55:50
А кто может подсказать, как сохранить ссылку на существующую сущность, при сериализации. Вот пример - class DoctorSerializer(serializers.ModelSerializer): class Meta: model = Doctor fields = ('id', 'name') def create(self, validated_data): return Doctor(**validated_data) class ProfileSerializer(serializers.ModelSerializer): #doctor = serializers.PrimaryKeyRelatedField(read_only=True) - если ставим эту строчку, то ссылка на доктора не сохраняется, если ставим read_only=False - то пытается сохранить доктора, и пишет что доктор уже сущестует doctor = serializers.SlugRelatedField(many=False, read_only=True, slug_field='id') class Meta: model = Profile fields = ('doctor','testData' ) def create(self, validated_data): print('create Profile instance') print(validated_data) return Profile(**validated_data) class RegistrationSerializer(DefaultRegisterUserSerializer): profile = ProfileSerializer() def init(self, *args, **kwargs): super().init(*args, **kwargs) self.Meta.fields = self.Meta.fields + ('profile',) self.Meta.depth = 2 def create(self, validated_data): profile_data = validated_data.pop('profile') data = validated_data.copy() if self.has_password_confirm: del data['password_confirm'] user = User.objects.create(**data) Profile.objects.create(user=user, **profile_data) return user
эх, пришлось два разных сериализара делать, Один на вьюху, что бы отображать class ProfileForOuputSerializer(serializers.ModelSerializer): doctor = DoctorSerializer(read_only=True) и один для того что бы регистрировать пользователя - для него - class ProfileForInputSerializer(serializers.ModelSerializer): doctor = serializers.SlugRelatedField( slug_field='id',queryset= Doctor.objects.all())

Криво, зато работает )

Dude
25.03.2018
12:20:30
class Description_of_days_inline(admin.TabularInline): model = Description_of_days extra = 3 class MiniBlockInline(admin.TabularInline): model = Mini_block extra = 3 class RouteAdmin(admin.ModelAdmin): list_display = [ 'name', 'description', 'get_big_img_slide', 'get_big_route_img', ] prepopulated_fields = {'slug': ('name', )} read_only = ['route_img'] inlines = [ MiniBlockInline, Description_of_days_inline ] class RouteInTour(admin.StackedInline): model = Route extra = 1 class TourAdmin(admin.ModelAdmin): list_editable = ['description',] list_display = [ "__str__", "description", "price", "days", "start_croise", 'get_big_mini_image', ] search_fields = ['slug'] prepopulated_fields = {"slug": ("title",)} inlines = [Sliders_inline, RouteInTour] Как сделать чтобы в админке наследованный инлайн был? Хочу чтобы в 'TourAdmin' Не просто модель Route была, а 'RouteAdmin' класс уже с его инлайнами ?

Lazoreth
25.03.2018
13:21:39
Как конкретную миграцию в джанго выпилить?

Vova
25.03.2018
13:21:53
Всем привет, как сделать тру способом настройки сайта в веб админке django?

Lazoreth
25.03.2018
13:21:59
Я по ошибке сделал unique=True в BooleanField

И создал миграцию

Vova
25.03.2018
13:22:48
В них есть поддержка 2.0?

Google
Petr
25.03.2018
13:22:59
И создал миграцию
пойти в папку мигрейшонс и удалить/отредактировать файл нужный, например

Dan
25.03.2018
13:23:15
И создал миграцию
Если миграции не применялась можно либо удалить файл миграции, либо убрать правило

Vova
25.03.2018
13:23:26
В них есть поддержка 2.0?
В 1 походу да, там последний коммит 2 дня назад

Lazoreth
25.03.2018
13:24:29
Так, вроде победил

Хочу ещё на норм базу переехать, он сам на пустой базе все миграции нужные сделает если сделать manage.py migrate?

Dan
25.03.2018
13:30:26
При подключении к новой базе migrate делаешь сам

Lazoreth
25.03.2018
13:59:27
Ошибка валится

conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError

Сервак работает, если из idle подключатся то норм

Senpos
25.03.2018
14:00:25
В них есть поддержка 2.0?
django-solo поддерживает

Lazoreth
25.03.2018
14:00:29
А нет, из idle та же задница

>>> import psycopg2 >>> psycopg2.connect("host=10.10.1.10 port=5432 user=its dbname=its password=123") Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> psycopg2.connect("host=10.10.1.10 port=5432 user=itservice dbname=itservice password=12345678") File "C:\Users\Сашулечка\AppData\Local\Programs\Python\Python36-32\lib\site-packages\psycopg2\__init__.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError >>>

Как быть? Даже что за ошибка не разобратся

Igor
25.03.2018
14:04:07
Ребят, не бейте палками: я хочу получить например юзеров возрастом 25 лет, будет выглядеть так: ```users = User.objects.filter(age=25)``` А как мне передать условие, например, age<25? Пробовал туда пихать лямбда-функции - получается ерунда

Страница 1117 из 1273