Ответы пользователя по тегу Python
  • AnonymousUser при каждом запросе (simplejwt)?

    rstJkee
    @rstJkee Автор вопроса
    А, очень весело получилось, я, собственно, чего-то не знал видимо или что-то просмотрел. У меня используется ModelViewSet, весь код вот
    class CourseViewSet(viewsets.ModelViewSet):
        queryset = Course.objects.filter(is_deleted=False)
        serializer_class = CourseSerializer
        swagger_tags = ["Course"]
    
        def create(self, request, *args, **kwargs):
            data = request.data
            course = Course.objects.create(
                name=data["name"],
                description=data["description"],
                information=data["information"],
                author_id=data["author"]
            )
            course.save()
            tags = set(data["tags"])
            for tag in tags:
                created_tag = Tags.objects.get_or_create(name=tag)[0]
                course.tags.add(created_tag.id)
            return Response(status=status.HTTP_201_CREATED)
    
        def partial_update(self, request, *args, **kwargs):
            course = Course.objects.get(id=int(kwargs["pk"]))
            if request.user.id == course.author.id:
                return super().partial_update(request, *args, **kwargs)
            return Response(status=status.HTTP_403_FORBIDDEN)

    Не важно, что он делает, важно, что при добавлении
    authentication_classes = [JWTAuthentication]
    всё начинает работать. При том, что в rest_framework указан дефолтный класс, тут всё равно надо указывать его...
    То есть окончательно класс сейчас выглядит так
    class CourseViewSet(viewsets.ModelViewSet):
        queryset = Course.objects.filter(is_deleted=False)
        serializer_class = CourseSerializer
        authentication_classes = [JWTAuthentication]
        swagger_tags = ["Course"]
        ...
    Ответ написан
    Комментировать
  • Почему не возвращается json?

    rstJkee
    @rstJkee Автор вопроса
    Боже, какая же очевидная ошибка была: getJSON принимает в себя 3 аргумента, а я всё обернул в {}, и функция, которая должна была вывести всё через console.log, не срабатывала, из-за чего я начал думать, что не работает прога
    Правильный код на js(jquery)
    function selectData() {
        tName = $("#selectTabName").val()
        $.getJSON(
            "/select_data",
            {"tableName": tName},
            function(data) {
                console.log(data)
            }
        )
    }
    Ответ написан
  • Как сместить вершину графика в точку n?

    rstJkee
    @rstJkee Автор вопроса
    Вообщем суть была в том, что в документации я проглядел (или там реально не было) параметр отклонения
    @staticmethod
        def paint_normal_distribution(mexp, otkl):
            """
            Строит график кривой нормального распределения
            """
            head = 0.4 / otkl
            left = mexp - 3 * otkl
            right = mexp + 3 * otkl
            arr = np.arange(left, right, 0.001)
            plt.plot(arr, norm.pdf(arr, mexp, otkl))
            print("Левая граница = {}, правая граница = {}, высота = {}".format(left, right, head))
            plt.show()

    mexp - мат. ожидание смещает график на определённую позицию по x
    otkl - отклонение, как раз показывает, на сколько график должен быть ограничен по высоте
    Ответ написан
    Комментировать
  • Как считать csv и правильно распределить всё в листе?

    rstJkee
    @rstJkee Автор вопроса
    Если кому будет интересно: .csv показывается в ide pycharm как строки, с разделителем (delimeter) ";". Поэтому код такой получился
    def read_csv(data):
        with open("data.csv", "r") as csvfile:
            file = csv.reader(csvfile, delimiter=";")
            for row in file:
                data.append(row)
        print_data(data)

    А если вдруг вывод нужен обратный (ну, например, вы что-то редактировали)
    def write_csv(data):
        with open("data.csv", "w") as csvfile:
            wrt = csv.writer(csvfile, delimiter=";", quotechar="|", lineterminator="\r")
            wrt.writerows(data)
    Ответ написан
    Комментировать
  • Как добавить элемент в подмассив numpy?

    rstJkee
    @rstJkee Автор вопроса
    Короче, вот что получилось у меня

    item = np.array([], int)
    data = np.column_stack((data, item))


    data - мега массив
    item - микро массив (кэп)
    Ответ написан
    Комментировать