Я оставил вам решение, которое работает в лучшем случае для меня, в некоторых случаях. Особенно если вы знаете [размер?] Одного измерения массива. Очень полезно для массива символов, например, если нам нужен массив разного размера массивов char [20].
int size = 1492;
char (*array)[20];
array = new char[size][20];
...
strcpy(array[5], "hola!");
...
delete [] array;
Ключ - это скобки в объявлении массива.
Если необходимо использовать что-то подобное {% url %}
тег шаблона в коде, Django обеспечивает django.core.urlresolvers.reverse()
. Эти reverse
функция имеет следующую подпись:
reverse(viewname, urlconf=None, args=None, kwargs=None)
Я использую два разных подхода в моем 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)])
Знайте, что использование reverse()
требует, чтобы Ваш urlconf модуль был на 100% безошибочен и мог быть обработан - iow никакой ViewDoesNotExist
ошибки или так, или Вы получаете страшное NoReverseMatch
исключение (ошибки в шаблонах обычно перестали работать тихо получающийся в None
).