2013-01-23 21 views
6

Tôi đang cố gắng tạo một ứng dụng cửa hàng cơ bản. Tôi đã thiết lập một cơ sở dữ liệu để mỗi sản phẩm được gắn với một cửa hàng cụ thể: hãy gọi cho các cửa hàng Giày dép, Đồ chơi và Sách .. Tôi cần thiết lập tên miền phụ cho ứng dụng (nó nằm trong thông số chuyển nhượng, không có lựa chọn nào) để tôi có thể ánh xạ tới shoes.myapp.com, toys.myapp.com và books.myapp.com. Tôi cần làm gì đó bằng cách nào đó thiết lập tên miền phụ (mà tôi đã googled nhưng bị nhầm lẫn về: là this the way to go?) và sau đó, tôi đoán, lọc cơ sở dữ liệu của tôi từ thông tin trong tên miền phụ để chỉ các sản phẩm có tên cửa hàng "Giày" ví dụ xuất hiện trên trang. Tôi có đang tiếp cận đúng đường hoặc có cách nào tốt hơn để cấu trúc điều này không?Django Subdomain

+0

bạn đang chạy máy chủ web nào? Bạn có thể muốn sử dụng máy chủ web của bạn để dịch miền phụ sang biến môi trường. –

+0

sự cố của bạn có giải quyết được không? –

Trả lời

3

Tôi đề nghị bạn sử dụng ứng dụng này: django-subdomains. http://django-subdomains.readthedocs.org/en/latest/index.html

Và sau đó, trong settings.py của bạn, bạn nên sử dụng:

SUBDOMAIN_URLCONF = { 
    'toys': 'yourproject.urls.toys', 
    'shoes': 'yourproject.urls.shoes' 
(...) 
} 

Nếu bạn cần phải sử dụng tên của tên miền phụ trong một lần xem, nó sẽ được gắn vào đối tượng yêu cầu:

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 
+1

OK - điều này trông giống như những gì tôi muốn ... một chút bối rối mặc dù. Vì vậy, tôi nghĩ phần thứ hai với đối tượng yêu cầu có ý nghĩa với tôi, đó là phần quan trọng. Tôi đã đọc các tài liệu và ví dụ của bạn một vài lần, mặc dù, và tôi vẫn còn một chút bị mất. URL của tôi theo cấu trúc này: myproject.storename.pagename Tên cửa hàng là đồ chơi, giày, sách. Tên trang là 'sản phẩm', 'thanh toán' và 'shoppingcart' cùng với/cho trang chủ (đó là cách bạn muốn cụm từ đó?). Vì vậy, 12 trang hoàn toàn - bốn cho mỗi một trong ba cửa hàng. Tôi có cần phải bản đồ hóa tất cả những điều đó một cách riêng lẻ không? – thumbtackthief

+1

Điều đó không cảm thấy rất Pythonic. Tôi đang thiếu gì? – thumbtackthief

+2

Nếu hành vi này giống nhau đối với tất cả các ứng dụng của bạn, bạn có thể ánh xạ tất cả các cửa hàng lại với nhau AND DEAL với từng tên miền phụ như trong chế độ xem mẫu của tôi. Tôi không hiểu tại sao điều này không phải là pythonic. – silviojr