Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 21, 2016 11:09:31

thdktw
Зарегистрирован: 2016-10-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

когда запускаю программу, выводит ошибку – global name ‘Redirect’ is not defined

не знаю, что с этим делать. подскажите, пожалуйста

 def create_post(request):
    if not request.user.is_anonymous():
        if request.method == "POST":
            form = {
                'text': request.POST["text"],
                'title': request.POST["title"]
            }
            if form["text"] and form["title"]:
                Article.objects.create(text=form["text"],
                                        title=form["title"],
                                        author=request.user)
                return Redirect('get_article', article_id=article.id)
            else:
                form['errors'] = u"Не все поля заполнены"
                return render(request, 'create_post.html', {'form': form})
        else:
            return render(request, 'create_post.html', {})
    else:
        raise Http404

Офлайн

#2 Окт. 21, 2016 11:20:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

 return Redirect('get_article', article_id=article.id)
откуда вы взяли Redirect? Нигде в программе этот идентификатор не определен.



Офлайн

#3 Окт. 21, 2016 11:29:52

thdktw
Зарегистрирован: 2016-10-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

FishHook
Эмм..

нужно добавить в начале что-то вроде:
 from django.shortcuts import redirect
или
from django.http import HttpResponseRedirect
?

Гугл подсказывал лишь это, а весь остальной текст функции из методички. Больше в интернете ничего не нашла

Офлайн

#4 Окт. 21, 2016 11:39:50

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

thdktw
Эмм..
Все переменные, функции, классы и объекты должны быть где-то определены перед тем как их использовать. Если я вызываю функцию blalala() то очевидно, что где-то в коде должна быть эта функция.
Если я использую функцию из чужого модуля, то её нужно импортировать. Вы используете Redirect. Либо создайте такую сущность либо импортируйте её из какого-то нужного вам модуля.


Может быть вы зря с большой буквы написали?



Офлайн

#5 Окт. 21, 2016 11:50:45

thdktw
Зарегистрирован: 2016-10-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

FishHook
После импорта эта ошибка исчезла, спасибо с:
Но… появилась другая:

global name ‘article’ is not defined

Но ведь уже есть строчка:
from models import Article

Или как-то по-другому нужно прописать?

Офлайн

#6 Окт. 21, 2016 11:57:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

А вы разве не видите, чт о между
Article и article
есть существенная разница?



Офлайн

#7 Окт. 21, 2016 12:00:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

thdktw
Вы вообще уверены, что вам нужно изучать Джангу? Вы же не знаете языка, самых фундаментальных основ программирования вообще и программирования на питоне в частности.
Вам надо хелловорды пописать для начала, а потом уже, когда твердо будете понимать, что вы делаете, браться за Джангу.



Офлайн

#8 Окт. 21, 2016 12:40:23

thdktw
Зарегистрирован: 2016-10-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

не могу справиться с решением проблемы

FishHook
Это учебная программа.

К тому же я все-таки смогла разобраться с этой проблемой, но все равно – спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version