为要共享的资源创建唯一的 URL/地址 - 最佳实践

5 django url share unique

在我的应用程序中,需要创建可以共享的唯一 URL(每个资源一个)。类似于 Google Calendar 日历的私人地址。我想知道这方面的最佳做法是什么。

如果它有助于我的应用程序在 Django 中。

如果这个问题需要更多解释,请告诉我。

小智 4

这应该是非常简单的。在你的 urls.py 文件中,你需要一个像这样的 url:

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

然后你views.py用一个名为的函数来处理这个问题:

def resource_func(request, resource_name):
    # look up resource based on unique string resource_name...
Run Code Online (Sandbox Code Playgroud)

最后,您也可以在模板中使用它,使用命名:

{% url priv-resource string %}
Run Code Online (Sandbox Code Playgroud)

只需确保在您的 models.py 中:

class ResourceModel(models.Model)
    resource_name = models.CharField(max_size=somelimit, unique=True)
Run Code Online (Sandbox Code Playgroud)

我什至可能想使用信号处理程序在保存对象时自动生成该字段。请参阅文档