如果网址包含特定字符

时间:2016-05-28 18:04:37

标签: python django django-views django-urls

我有这个观点:

def url_redirect(request,id):
        url = get_object_or_404(Url,short_id=id)
        return HttpResponseRedirect(url.httpurl)

和这些网址:

urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(ur'^(?P<id>.*)$', views.url_redirect),

]

基本上它的作用是从http://127.0.0.1:8000/XYZ重定向到另一个站点

现在我希望有可能使用不同的视图,如果网址因添加“!”而略有不同性格,即:

http://127.0.0.1:8000/!XYZ

因此,每当我使用此网址时,它都会执行除重定向之外的其他操作。

知道我该怎么办? 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果您想在同一视图中处理它,请保持原样urls并更改视图:

def url_redirect(request,id):
    if id.startswith('!'):
        id = id[1:]
        # do whatever you want with id
    else:
        url = get_object_or_404(Url,short_id=id)
        return HttpResponseRedirect(url.httpurl)