Создание уникального URL / адреса для ресурса для обмена - лучшие практики - PullRequest
4 голосов
/ 10 января 2011

В моем приложении необходимо создать уникальные URL-адреса (по одному на ресурс), которыми можно поделиться. Что-то вроде Google Calendar Личный адрес для календаря. Я хочу знать, каковы лучшие практики для этого.

Если это поможет, мое приложение в Django.

Пожалуйста, дайте мне знать, если этот вопрос нуждается в дополнительном объяснении.

1 Ответ

3 голосов
/ 10 января 2011

Это должно быть очень просто. В вашем файле urls.py вам нужен такой URL:

url(r'/resource/(?P<resource_name>\w+)', 'app.views.resource_func', name="priv-resource"),

Затем вы обрабатываете это в views.py с помощью функции:

def resource_func(request, resource_name):
    # look up resource based on unique string resource_name...

Наконец, вы можете использовать это и в своих шаблонах, используя имя:

{% url priv-resource string %}

Просто убедитесь, что в ваших models.py:

class ResourceModel(models.Model)
    resource_name = models.CharField(max_size=somelimit, unique=True)

У меня может даже возникнуть желание использовать обработчик сигналов для автоматического создания этого поля после сохранения объекта. См. документацию .

...