0

私はdjangoを使用していて、url.pyに次のようなURLがあります

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

さて、私が望んでいるのは、ユーザーが自分のアカウントを作成できるようにすることです。アカウントには、自分のURL名が付けられます。私はワードプレスのようなものを考えています:

macks_knitting_blog.wordpress.com

ただし、次の2つのURLは、両方とも同じ関数のリストにマップする必要があります。

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

アカウントは基本的に同一であり、同じ機能とテンプレートがすべてに使用されます(ワードプレスとは異なります)。表示される情報はrequest.userに基づいてフィルタリングされ、テンプレートはrequest.pathに基づいて少し異なって見えます。

このようなことは可能ですか?次の場合も問題ありません。

mysite.com/macks_knitting_blog/listings

Djangoサイトについて読んだことがありますが、この場合は当てはまらないようです。それとも私は何かを逃しましたか?これを行うためにsettings.pyまたはurl.pyを変更する必要はないという考え方です。それはすべて自動的に行われるはずです。それ以外の場合は、新しいサイトにIDを割り当てて、それを渡すことを考えることができます。あまりパーソナライズされた外観ではありません。

4

1 に答える 1

0

アイデアは次のとおりです。URLセクションで、リストの行を次のように変更します。

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

また、「views.py」の関数は次のようになります。

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

username引数は、mysiteと'listings'の直後のスラッシュの間の文字列セグメントを受け取ります。

于 2012-10-17T10:47:50.523 に答える