Django 如何使用 URL 中的 slug 作为变量

Django how to use the slug in URL as a variable

我想使用 URL 中的 slug 作为我的 API 的变量。因此,首先我需要将 slug 放入 urls.py 中,看起来像这样。

url(r'^use/(?P<slug>[\w-]+)/$', view_function, name="api")

然后我需要在 view.py 中包含 slug,它看起来像这样:

def urlextractor(request, slug):
    if request.method == 'POST':
        serializer = Serializer(data=slug)
        # do something with slug

问题是我得到了代码 404。你能给我一些我可以看的例子或参考资料吗?

你的情况:

url(r'^use/(?P<slug>[\w-]+)/$', view_function, name="api")

如果您没有在项目中添加 api,您的 url 应该是 "127.0.0.1:8000/use/variable" urls.py

def urlextractor(request, slug):
    # slug = variable in your url

该问题已被一位评论已被删除的用户回答。他说为了让我的模块把URL作为一个变量我只需要把urls.py改成正则表达式:

url(r'^use/(?P[A-Za-z]+)/$', view_function, name="api")