u
ubomj27 октября 2020 г. 9:45

Создание черновика как на авито и тд

Всем привет!
Есть задача: при переходе на создание поста мб еще и заполнении чего то... создавать что то вроде черновика поста с id.
В джанго только новичок :(
Может кто сталкивался с такой задачей или хотя бы подскажите куда копать ?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

8
Илья Чичак
  • 27 октября 2020 г. 10:09

почему-бы не создавать объект поста, но, чтобы в нем был флаг, например 'is_draft=True'?

после заполнения, во время сохранения, переключать is_draft в False

а выводить, куда нужно, все, у чего is_draft = False

    u
    • 27 октября 2020 г. 10:17

    по коду я тук тук)) если создание объекта поста без нажатия кнопок (создать черновик), то подходит, вернее оно и есть... но если надо нажимать кнопку - то не то

      Илья Чичак
      • 27 октября 2020 г. 10:27
      • Ответ был помечен как решение.

      почему?

        u
        • 27 октября 2020 г. 10:34
        • (ред.)

        Ну пользователь я думаю не настроен будет жмакать кнопку создать черновик, потом продолжать заполнять...
        А черновик в свою очередь нужен пока только для получения id, который нужен для мультизагружки изображений и привязки их к посту. как то так...

          Илья Чичак
          • 28 октября 2020 г. 4:48

          кнопка "добавить пост" -> создается черновик, открывается форма этого черновика
          пользователь заполняет, отмечает галку "опубликовать" -> пост переводится из черновика и сохраняется, что пользователь написал

            u
            • 28 октября 2020 г. 6:37
            • (ред.)

            Илья а можно пример кода?
            Пожалуйстааа ^___^

            class CreatePostView(LoginRequiredMixin, CreateView):
                model = Post
                form_class = PostForm
                template_name = 'add.html'
                success_url = None
            
                def get(self, request, *args, **kwargs):
                    self.object = None
                    form_class = self.get_form_class()
                    form = self.get_form(form_class)
            
                    #создание черновика при переходе на страницу добавления
                    if request.user.is_authenticated:
                        object = Post.objects.create(name='Название не указано', user=self.request.user)
                        object.save()
            
                    return self.render_to_response(self.get_context_data(form=form))
            
            
                def post(self, request, *args, **kwargs):
                    form = self.get_form()
                    if form.is_valid():
                        return self.form_valid(form)
                    else:
                        return self.form_invalid(form)
            

            При переходе на страницу добавления пост создается, но как открыть форму этого же поста?))

              Илья Чичак
              • 29 октября 2020 г. 5:34

              А черновик в свою очередь нужен пока только для получения id, который нужен для мультизагружки изображений и привязки их к посту. как то так...

              я бы вообще решал это так:

              class Post(models.Model):
                  author = models.ForeignKey(settings.USER_MODEL)
                  title = models.CharField...
                  tags = models.ListField...
                  created_at = models.DatetimeField...
                  updated_at = models.DatetimeField...
              
                  summary = models.TextField...
                  head_img = models.URLField...
              
              class PostChunk(models.Model):
                  post = models.ForeignKey('Post')
                  text = models.TextField...
                  image = models.ImageField...
                  ...
              

              и сам пост собирать из PostChunk

              тогда можно было бы сделать сложную структуру, типа

              текст
              картинка
              текст
              текст
              видео
              текст
              
                СЯ
                • 11 апреля 2021 г. 4:14

                А как все же активировать черновик?

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь
                  m
                  • molni99
                  • 26 октября 2024 г. 1:37

                  C++ - Тест 004. Указатели, Массивы и Циклы

                  • Результат:80баллов,
                  • Очки рейтинга4
                  m
                  • molni99
                  • 26 октября 2024 г. 1:29

                  C++ - Тест 004. Указатели, Массивы и Циклы

                  • Результат:20баллов,
                  • Очки рейтинга-10

                  C++ - Тест 003. Условия и циклы

                  • Результат:42баллов,
                  • Очки рейтинга-8
                  Последние комментарии
                  i
                  innorwall10 ноября 2024 г. 13:03
                  Django - Урок 029. Добавление личных сообщений и чатов на сайте - Часть 1 priligy at walgreens ortho ciprofloxacin tablet uses in telugu Republicans in Congress have chastised Obama s top health adviser, Health and Human Services Secretary Kathleen Sebelius, …
                  i
                  innorwall10 ноября 2024 г. 9:55
                  Как Копировать Файлы в Linux In dogs, it is used to facilitate synchronized cardioversion of atrial fibrillation buy priligy usa
                  i
                  innorwall10 ноября 2024 г. 9:03
                  Как написать игру на Qt - Урок 3. Взаимодействие с другими объектами priligy otc I routinely do not tell patients and or parents of patients with atopic dermatitis to avoid glutamates in food
                  i
                  innorwall10 ноября 2024 г. 6:05
                  QML - Урок 020. Старт работы с Android Manifest в Qt Creator PMID 34322115 Free PMC article pastillas priligy en mexico
                  i
                  innorwall10 ноября 2024 г. 4:31
                  Сборка драйвера QMYSQL (MariaDB) Windows 10 x64 QT 5.13.0 Mingw73_64 amazon priligy Conclusion This is the first study of the adverse effects of quetiapine ingestion by children under 7 years of age
                  Сейчас обсуждают на форуме
                  i
                  innorwall10 ноября 2024 г. 8:22
                  добавить qlineseries в функции The information provided in Dosage Posology and method of administration of Tamoxifen Actavis is based on data of another medicine with exactly the same composition as the Tamoxifen Actavis …
                  9
                  9Anonim25 октября 2024 г. 9:10
                  Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                  ИМ
                  Игорь Максимов3 октября 2024 г. 4:05
                  Реализация навигации по разделам Спасибо Евгений!
                  F
                  Fynjy22 июля 2024 г. 4:15
                  при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                  Следите за нами в социальных сетях