Django子域名
我正在尝试制作一个基本的商店应用程序。我已经设置了一个数据库,让每个产品都和特定的商店关联起来:我们可以叫这些商店“鞋子”、“玩具”和“书籍”。我需要为这个应用设置子域名(这是作业要求,没得选择),这样我就可以映射到 shoes.myapp.com、toys.myapp.com 和 books.myapp.com。我觉得我需要做的是以某种方式设置子域名(我在网上查过,但有点困惑:这个方法可以吗?),然后,我想我需要根据子域名的信息来过滤我的数据库,这样只有像“鞋子”这样的商店名称的产品才会出现在页面上。我这样做是不是在正确的方向上,还是有更好的结构方式呢?
1 个回答
3
我建议你使用这个应用:django-subdomains。你可以在这里找到它的文档:http://django-subdomains.readthedocs.org/en/latest/index.html
然后,在你的settings.py文件中,你应该使用:
SUBDOMAIN_URLCONF = {
'toys': 'yourproject.urls.toys',
'shoes': 'yourproject.urls.shoes'
(...)
}
如果你需要在视图中使用子域名的名称,它会和请求对象一起提供:
def your_view(request):
subdomain = request.subdomain
products = Products.objects.filter(store=subdomain) #an example how to use it to specif database queries. I dont know how your models are