gpt4 book ai didi

python - Django 项目中的通配符子域

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:14 25 4
gpt4 key购买 nike

有没有人在他们的应用程序中使用过通配子域?我需要想出一种方法来“本地化”我的应用程序。当我说本地化时,我的意思是任何访问 ny.foo.com/items/new/ 的人都将被发送到一个 View ,该 View 会查看数据库并在纽约搜索新项目。显然,我们可以用任何州代替 NY。

任何提示都会很棒

谢谢!

最佳答案

我会使用中间件来完成,例如:

class StateCodeMiddleware(object):

def process_request(self, request):
bits = request.META['HTTP_HOST'].split('.')
if len(bits) == 3 and len(bits[0]) == 2:
request.state_code = bits[0]
else:
request.state_code = None
# Or a redirect to the default state.

然后在您的任何 View 中,您只需检查 request.state_code 并仅为该状态获取新项目。


编辑:对于开发,最好的方法是设置本地 DNS 服务器。例如。 dnsmasq 非常容易配置:

address=/.dev/127.0.0.1 # 在 dnsmasq.conf 中

这使得 *.dev 指向本地主机。您还必须配置您的系统以使用本地 DNS 服务器(在 UNIX 系统上,您通过将 nameserver 127.0.0.1 放入 /etc/resolve.conf 来执行此操作) .

或者,如果它是有限集,您可以列出/etc/hosts 中的所有域名:

127.0.0.1 ny.localhost, az.localhost  # and so on

关于python - Django 项目中的通配符子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6917931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com