2012-10-17 94 views
0

我使用Django和有網址,如我url.py以下現在Django的:讓用戶創建網站提供個性化的網址

url('^mysite/home/$', home), 
url('^mysite/listings/$', listings), 

,我要的是讓用戶能夠創建他們自己的帳戶,然後它們會擁有自己的網址名稱。我想是這樣的wordpress:

macks_knitting_blog.wordpress.com 

然而,以下兩個網址應同時映射到相同的功能,列表。

macks_knitting_blog.mysite.com/listings 
my_trip.mysite.com/listings 

帳戶基本上是相同的,相同的功能和模板將用於所有(不像wordpress)。顯示的信息將根據request.user進行篩選,根據request.path,模板看起來有點不同。

是否有可能做到這樣的事情?它也可以:

mysite.com/macks_knitting_blog/listings 

我讀過關於Django網站,但它似乎並沒有在這種情況下舉行。或者我錯過了什麼?這個想法是,我不應該改變settings.py或url.py來實現這一點。它應該全部自動發生。否則,我可以考慮爲新網站分配一些ID並傳遞它 - 不是非常個性化的外觀。

+1

因爲你還沒有看過http://blog.uysrc.com/2011/03/23/serving-multiple-sites-with-django/ – Rohan

+0

看起來像這可能正是我所需要的!我會閱讀並報告。 – user984003

回答

0

這裏有一個想法: 在你的URL部分改變列表行

url('^mysite/([^//]*)/listings/$', listings) 

而且在「views.py」你的函數應該是這樣的:

def listings(request, username): 
    ... 
    return HttpResponse(...) 

用戶名參數接收字符串在mysite和'listing'之後的斜槓之間的段落 希望可以幫到

+0

嘿 - 非常簡單!我想象一下每個函數週圍的裝飾器,以確保網站存在並確保用戶與網站相匹配。 – user984003

相關問題