如何为 django 中的每个唯一用户名创建自定义子域?

How to create custom subdomains for each unique username in django?

我一直在寻找一个完美的解决方案来为每个用户创建自定义子域,就像 word press 为 Django 中的博客所做的那样。

问题是 google 结果的前 4 页上的所有解决方案都已过时。

我正在使用 apache、heroku、windows7。 我已经完成设置的DNS管理(通配符设置)

*.domainname.com   

 appname.herokuapp.com

link 文档或分步教程会很有帮助。

谢谢大家,喜欢 Whosebug。到 1000 万个问题。

P.S。我是n00b,请简单解释一下settings.py、urls.py、admin.py、models.py、views.py

所需的代码

(或 links(抱歉!Google 没有帮助))

我不知道你说的是哪个解决方案已经过时,但我正在使用 django-subdomains

阅读文档中的快速入门和基本用法,我想您会明白发生了什么。

我使用的快速设置(与文档中的完全相同)

#settings.py
ROOT_URLCONF = 'myproject.urls.account'


SUBDOMAIN_URLCONFS = {
    None: 'myproject.urls.frontend',  # no subdomain, e.g. ``example.com``
    'www': 'myproject.urls.frontend',
    'api': 'myproject.urls.api',
}

myproject.urls.account 你映射回家 url 类似的东西

url(r'^$','user_view',name='userview'),

当访问者提示输入 username.domain.com 时,django 将在 myproject.urls.account

中定义的 user_view 上重定向他

在你的user_view中你可以做这样的事情:

def user_view(request):
profile = Profiles.objects.get(username = request.subdomain)
....

注意:这不是唯一可能的配置。阅读文档了解更多。