0

我正在使用 django,并且在我的 url.py 中有如下网址

url('^mysite/home/$', home),
url('^mysite/listings/$', listings),

现在,我希望用户能够创建自己的帐户,然后这些帐户将拥有自己的 url 名称。我在想像wordpress这样的东西:

macks_knitting_blog.wordpress.com

但是,以下两个 url 应该都映射到相同的函数,列表。

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 并将其传递 - 不是很个性化的外观。

4

1 回答 1

0

这是一个想法:在您的 url 部分将列表行更改为

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

你在“views.py”中的函数应该是这样的:

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

用户名参数在 mysite 和 'listings' 之后的斜杠之间接收字符串段 希望有帮助

于 2012-10-17T10:47:50.523 回答