Size: a a a

Django [ru] #STAY HOME

2019 June 24

d

djigit0s in Django [ru] #STAY HOME
Unknown
Такой прикол.
Имеется основная вьюха и с нее есть переадресация на вьюху(вьюха-обработчик назовём её), которая обрабатывает конкретную операцию. В этой вьюхе-обработчике только обработка этой операции и после она должна совершать переадресацию обратно на основную вьюху.
Однако есть 2 страницы, на которых есть использование вьюхи-обработчика. И вылазит проблема..что нужно каким-то образом сделать генерацию url при редиректе- динамическим (назад, на ту страницу из тех 2, с которой была перевдресация на вьюху-обработчик).
Сталкивался кто-нибудь с подобным?

Выход есть - дублировать вью-обработчик..ноо, под каждую страницу писать фактически одинаковую вьюху только с разным url - громоздко.
Миксин - получше вариант, меньше кода, но та же проблема, куча вьюх будет.

Ещё думал, как-то в url передавать имя url
(‘/project:<slug:str>/‘ - добавив в конец ‘<url:str>’)
на который нужно будет сделать редирект, но не додумался, как это сделать.
можно на код взглянуть?
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Ivan Sinyavskiy
Есть способ завести данные например из csv файла базу данных Django проекта?
Да, способов много
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Через миграцию, Через импорт-экспорт расширение
источник

IS

Ivan Sinyavskiy in Django [ru] #STAY HOME
Михаил Павлов
Да, способов много
Хорошо раз так, продолжу изыскания. В какую сторону посоветуете посмотреть?
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Свой скрипт написать
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Посмотри ютуб, например
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Видеоурок по этой теме, найдется же?
источник

IS

Ivan Sinyavskiy in Django [ru] #STAY HOME
django-import-export давно использую, но тут же две модели получается.
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Значит напиши джанго команду, которая будет импортировать данные из таблицы в базу
источник

U

Unknown in Django [ru] #STAY HOME
djigit0s
можно на код взглянуть?
Разумеется. https://pastebin.com/AmHAsiPx
Это вью-обработчик со статическим путем при редиректе, который нужно сделать динамическим.
Должен генерироваться 'main_url' или 'next7days_url' в зависимости, с какой из этих страниц была переадресация на вью-обработчик.
источник

IS

Ivan Sinyavskiy in Django [ru] #STAY HOME
Михаил Павлов
Значит напиши джанго команду, которая будет импортировать данные из таблицы в базу
Принято, постараюсь разобраться. Спасибо за ответы.
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Unknown
Разумеется. https://pastebin.com/AmHAsiPx
Это вью-обработчик со статическим путем при редиректе, который нужно сделать динамическим.
Должен генерироваться 'main_url' или 'next7days_url' в зависимости, с какой из этих страниц была переадресация на вью-обработчик.
Находчивое решение для асинхронного выплнения кода. А почему отложенные задания не используешь celery, rq?
источник

U

Unknown in Django [ru] #STAY HOME
Михаил Павлов
Находчивое решение для асинхронного выплнения кода. А почему отложенные задания не используешь celery, rq?
Только начал учить джанго, даже не знал про celery и rq. Буду рад советам
источник

d

djigit0s in Django [ru] #STAY HOME
Unknown
Разумеется. https://pastebin.com/AmHAsiPx
Это вью-обработчик со статическим путем при редиректе, который нужно сделать динамическим.
Должен генерироваться 'main_url' или 'next7days_url' в зависимости, с какой из этих страниц была переадресация на вью-обработчик.
почему не передать какой либо параметр в обработчик, по которому уже будешь генерировать url? или я задачу не так понял
источник

U

Unknown in Django [ru] #STAY HOME
djigit0s
почему не передать какой либо параметр в обработчик, по которому уже будешь генерировать url? или я задачу не так понял
Задумывался. Но как это сделать? В шаблоне
источник

d

djigit0s in Django [ru] #STAY HOME
Unknown
Задумывался. Но как это сделать? В шаблоне
@login_required
def taskDelete(request, id, url_redirect):
   if request.method == 'POST':
       task = Task.objects.get(id=id)
       task.delete()
       messages.success(request, f'Task "{task.name}" has been deleted successfully!')
       if url_redirect == 'next7days_url'
           return redirect('next7days_url', permanent=True)
       else:
           return redirect('main_url', permanent=True)
источник

МП

Михаил Павлов in Django [ru] #STAY HOME
Unknown
Только начал учить джанго, даже не знал про celery и rq. Буду рад советам
Советую названия функции писать по конвенциям pep, то есть task_delete
источник

ОК

Омурбек уулу Кайрат in Django [ru] #STAY HOME
djigit0s
@login_required
def taskDelete(request, id, url_redirect):
   if request.method == 'POST':
       task = Task.objects.get(id=id)
       task.delete()
       messages.success(request, f'Task "{task.name}" has been deleted successfully!')
       if url_redirect == 'next7days_url'
           return redirect('next7days_url', permanent=True)
       else:
           return redirect('main_url', permanent=True)
Так метод можно называть ?
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
Можно, но нежелательно
источник

d

djigit0s in Django [ru] #STAY HOME
Unknown
Задумывался. Но как это сделать? В шаблоне
или так
@login_required
def taskDelete(request, id, url_redirect):
   if request.method == 'POST':
       task = Task.objects.get(id=id)
       task.delete()
       messages.success(request, f'Task "{task.name}" has been deleted successfully!')
       if url_redirect
           return redirect(url_redirect, permanent=True)
       else:
           return redirect('main_url', permanent=True)
источник