Django:让用户使用个性化网址创建网站

时间:2012-10-17 10:26:05

标签: django django-urls

我正在使用django,并在我的url.py

中包含以下网址
url('^mysite/home/$', home),
url('^mysite/listings/$', listings),

现在,我想要的是用户能够创建自己的帐户,然后拥有自己的网址名称。我在想像wordpress:

macks_knitting_blog.wordpress.com

但是,以下两个网址都应映射到相同的功能列表。

macks_knitting_blog.mysite.com/listings
my_trip.mysite.com/listings

帐户基本相同,所有人都使用相同的功能和模板(与wordpress不同)。显示的信息将根据request.user进行过滤,模板将根据request.path显示略有不同。

有可能做这样的事吗?它也可以:

mysite.com/macks_knitting_blog/listings

我已经阅读过有关Django网站的信息,但在这种情况下似乎没有。还是我错过了什么?我的想法是,我不需要更改settings.py或url.py来实现此目的。它应该全部自动发生。否则,我可以考虑为新网站分配一些ID并传递它 - 不是非常个性化的外观。

1 个答案:

答案 0 :(得分:0)

这是一个想法: 在您的网址部分中,将商家信息行更改为

url('^mysite/([^//]*)/listings/$', listings)

你在'views.py'中的功能应如下所示:

def listings(request, username):
    ...
    return HttpResponse(...)

username参数在mysite和'listing'之后的斜杠之间接收字符串段 希望有所帮助