用户个人资料页面 - 子域名

时间:2014-01-10 13:00:19

标签: django

我需要此功能

用户可以在我的网络应用中创建一个帐户,并将其个人资料页面放在:

  

username.mydomain.com

(子域)。

我该怎么办?我从哪里开始?

1 个答案:

答案 0 :(得分:0)

我不会为你写这一切,但这是我以前做过的方式:

  1. DNS必须将所有子域转发到您的服务(记录*.yourdomain.com - >您的IP地址);
  2. 如果您已使用Nginx进行部署,则可以使用REGEX网址选择器捕获子网域(其用户名),并将其作为网址路径传递给您的服务(因此username.yourdomain.com变为yourdomain.com/username而不显示这给用户)。 This SO question - Nginx convert subdomain to path component without redirect - 可以帮助你。
  3. 现在可以很容易地使用Djangos内置的URL来获取该用户名并返回正确的个人资料页面。
  4. 编辑1:

    <强>加成

    默认情况下,如果输入的用户名没有自己的帐户,则会生成404 - Not found错误消息。如果您使用Djangos网址(类似/users/username/),您可以返回自定义User not found或类似的错误消息,以使用户体验更顺畅。