
Очень добрый
20.01.2018
15:54:43
))
вы хотите загружать файлы с интернета не в одну папку а в определенное количество?

Google

Очень добрый
20.01.2018
15:57:16
или что

Maxos
20.01.2018
15:57:29
нет, сейчас объясню
пользователь загружает файлы, мне нужно сохранять их не в одну общую, а в разные( пользовательские, грубо говоря)

Очень добрый
20.01.2018
16:00:31
речь о джанге? или о клиентской машине?

Maxos
20.01.2018
16:01:10
django

Очень добрый
20.01.2018
16:02:35
если рассуждат ь логически, то у вас есть группы - Админ, модер, пользователь - к примеру. если вам нужно, чтоб файлы загружаемые разными польователями, загружались в разные папки, то я бы явно указал адреса этих отдельных папок в модельках юзеров

Senpos
20.01.2018
16:02:49

Очень добрый
20.01.2018
16:02:52
и дальше хоть get_absolute_url , хоть как
только на каждого пользователя нужна своя моделька со своим путем

Maxos
20.01.2018
16:05:10

Senpos
20.01.2018
16:05:17
В общем, пока не до конца ясно как именно надо сохранять файлы, но вот пример: https://github.com/kennethlove/django_bookmarks/blob/master/dj_bookmarks/profiles/models.py#L6

Maxos
20.01.2018
16:05:50
о

Google

Maxos
20.01.2018
16:06:02
то что нужно, судя по всему

Senpos
20.01.2018
16:06:11
Файлы сохраняются не в одну общую папку media/, а в media/avatars/user_{user_id}/{filename}

Maxos
20.01.2018
16:06:21
большое спасибо
кстати, из-за чего у вас тут спор разгорелся?

Senpos
20.01.2018
16:07:25
Вот еще пример из документации, где файлы загружаются в подпапках в зависимости от текущего года / месяца / дня
https://docs.djangoproject.com/en/2.0/ref/models/fields/#django.db.models.FileField.upload_to

Очень добрый
20.01.2018
16:18:23
если в поле ImageFiel

Maxos
20.01.2018
16:19:51
так
а это уже интереснее

Очень добрый
20.01.2018
16:20:38
Если в поле ImageField будет переменная в виде ника пользователя и при этом, разрешить пользователям регистрировать в нике кириллицу и пробелы - могут быть проблемы с роутингом при get_absolute_url
будет выдавать 404
и тут же решение проблемы
в upload_to привязываем не username , а создаем еще одно поле в модели юзера Slug = SlugField
и указываем его в upload_to

Maxos
20.01.2018
16:22:28

Очень добрый
20.01.2018
16:40:38
либо, как вариант не использовать слаг а id или pk пользователя
опять таки, айдишник не очень гибкая штука

Artem
20.01.2018
16:41:50

Очень добрый
20.01.2018
16:43:33
Читоооо?!
если так получится, что база рухнет а на фтп будут лежат ьвсе файлы привязанные не к slug, которая напрямую зависит от заданного ника а от id, который зависит лишь от очередности регистрации пользователей, то при использовании слагов бд можно будет почти безболезненно бекапнуть и слаги привязанные к пользователям благополучно отработают (скорей всего)
а айдишники не факт

Google

Artem
20.01.2018
16:44:22

Очень добрый
20.01.2018
16:44:23
1 человек зашел не по своей очереди в плане айди, и всё. вся цепочка прогорела
даже не знаю что то

Artem
20.01.2018
16:44:45
А твои проблемы - не умение варить

Очень добрый
20.01.2018
16:45:04
проблем нет

Sergey
20.01.2018
16:47:07
подскажите как обычно контент для статей держат в бд ?
имею ввиду что идёт абзац, а там картинка/видео/ссылки и тд

Bob
20.01.2018
16:47:50

Sergey
20.01.2018
16:48:14

Очень добрый
20.01.2018
16:48:16
textfield, а для красивости статьи - markdown

Sergey
20.01.2018
16:48:17

Очень добрый
20.01.2018
16:48:38
теги отдельным полем

Bob
20.01.2018
16:48:38

Очень добрый
20.01.2018
16:49:11
тогда какой смысл тегов, если они будут в одном поле со статьем
они же будут неюзабельные

Sergey
20.01.2018
16:49:53

Bob
20.01.2018
16:49:54
Делаем модель, типа:
class Article ...
title = models.CharField ...
meta_title ...
meta_keywords ...
... и т.д.
content = models.TextField

Очень добрый
20.01.2018
16:51:20

Bob
20.01.2018
16:51:44
Далее в content ложим тело статьи в любом нужном нам формате
И прикручиваем редактор сверху, в той же админке

Google

Bob
20.01.2018
16:52:25
В шаблоне плюем так {{ article.content|safe }}
Если там будет голых HTML

Очень добрый
20.01.2018
16:52:59
я вас тоже

Bob
20.01.2018
16:53:23
Тогда приведите пример вашей модели :)
Давайте я пример приведу:
<h1>Рецепт очень вкусного салата</h1>
<p>Автор: тов. Рецептов А.Я.</p>
<h2>Ингридиенты</h2>
<p>Бла бла бла бла ...</p>
<ul><li>Список</li></ul>
(тут картинка) и т.д.

Очень добрый
20.01.2018
16:57:35

Bob
20.01.2018
16:57:39
Все что с h2 - контент, как вы это в базу положите? @alljewsofisrael

Admin
ERROR: S client not available

Очень добрый
20.01.2018
16:57:55
а марк2 уже как вы описали выше

Bob
20.01.2018
16:58:43
from django.db import models
from taggit.managers import TaggableManager
class Content(models.Model):
name = models.TextField
img = models.ImageField
url = models.UrlField
tags = tags = TaggableManager()
def get_absolute....
class meta ....

Очень добрый
20.01.2018
16:58:56
марк2 выводит h2 и остальные в на выходе, а в бд строка помещается с символами **** и прочие

Senpos
20.01.2018
16:59:00
А как поступить, если нужно на сайте отдавать маркдаун, а через апи - текст без тегов?

Bob
20.01.2018
16:59:04
А если картинок 10?

Очень добрый
20.01.2018
16:59:20

Senpos
20.01.2018
16:59:26

Bob
20.01.2018
16:59:40

Senpos
20.01.2018
16:59:43
Картинки лежат в хранилище

Bob
20.01.2018
17:00:13
А знаете, у вас крутой подход, продолжайте ?

Google

Senpos
20.01.2018
17:00:44
Видел, что делают два поля в базе.
Чистое и с форматированием.
Но как-то хз

Очень добрый
20.01.2018
17:01:19
если у вас на выходе JSON с тегами маркдауна, то нужно пропарсить

Bob
20.01.2018
17:01:58
https://github.com/jamesturk/django-markupfield
Как вариант

Очень добрый
20.01.2018
17:02:41
я бы не стал

Bob
20.01.2018
17:03:03
Почему?

Очень добрый
20.01.2018
17:03:18
личная неприязнь к таким батарейкам

Bob
20.01.2018
17:03:42
А, ясно, велосипедист детектед ?
Без обид, ни чего личного ?
Покажите requirements самого любимого вашего проекта?
Хочу понять ваш уровень неприязни к батарейкам ?

Очень добрый
20.01.2018
17:05:39
Requires Django >= 1.11
начнем с этого
некоторые файлы не открывались 4 года

Сергей
20.01.2018
17:05:57

Очень добрый
20.01.2018
17:06:00
такое себе решение

Evil
20.01.2018
17:06:47
так так так