Как генерировать URL в django

Я оставил вам решение, которое работает в лучшем случае для меня, в некоторых случаях. Особенно если вы знаете [размер?] Одного измерения массива. Очень полезно для массива символов, например, если нам нужен массив разного размера массивов char [20].

int  size = 1492;
char (*array)[20];

array = new char[size][20];
...
strcpy(array[5], "hola!");
...
delete [] array;

Ключ - это скобки в объявлении массива.

28
задан Josh Scholl 14 October 2013 в 14:30
поделиться

3 ответа

Если необходимо использовать что-то подобное {% url %} тег шаблона в коде, Django обеспечивает django.core.urlresolvers.reverse(). Эти reverse функция имеет следующую подпись:

reverse(viewname, urlconf=None, args=None, kwargs=None)

https://docs.djangoproject.com/en/dev/ref/urlresolvers /

34
ответ дан Colonel Panic 28 November 2019 в 03:18
поделиться

Я использую два разных подхода в моем models.py. Первым является декоратор permalink:

from django.db.models import permalink

def get_absolute_url(self): 
    """Construct the absolute URL for this Item."""
    return ('project.app.views.view_name', [str(self.id)])
get_absolute_url = permalink(get_absolute_url)

Вы также можете позвонить reverse напрямую:

from django.core.urlresolvers import reverse

def get_absolute_url(self): 
    """Construct the absolute URL for this Item."""
    return reverse('project.app.views.view_name', None, [str(self.id)])
9
ответ дан Garth Kidd 28 November 2019 в 03:18
поделиться

Знайте, что использование reverse() требует, чтобы Ваш urlconf модуль был на 100% безошибочен и мог быть обработан - iow никакой ViewDoesNotExist ошибки или так, или Вы получаете страшное NoReverseMatch исключение (ошибки в шаблонах обычно перестали работать тихо получающийся в None).

4
ответ дан zgoda 28 November 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: