Как вернуть полный url с помощью get_success_url(self) в django?
Как вернуть url с помощью get_success_url(self) в django без использования reverse
для общего представления? В принципе, я хочу иметь что-то вроде следующего.
def get_success_url(self):
url = self.object.url # This is a charfield with "https://stackoverflow.com/questions/ask"
return url
Я знаю, что люди часто используют reverse
при возврате url, но я бы хотел сделать так, как описано выше. Спасибо, и пожалуйста, пишите любые вопросы, которые у вас есть. Кстати, я никогда не тестировал приведенный выше код, но я не знаю, будет ли он работать правильно.
"reverse(...)" - это часть логики django, чтобы хранить структуру url в urlpatterns в ОДНОМ месте и затем во всем коде ссылаться на нее в момент выполнения запроса через имя. Если вы не хотите следовать этой логике - смело храните в "object.url" все, что вам нравится, и возвращайте это так, как вы предлагаете. Тогда вы просто не будете следовать идее django urlpattern. Вам решать, важно ли это или "правильно" в вашем случае.
Если url нацелен за пределы нашего собственного серверного пространства, реверс в любом случае бесполезен, поскольку эти url не являются частью ваших urlpattens.