2017-08-17 18 views
0

私はdjango-hostsパッケージを使用して、さまざまなサブドメインに設定されているはずのコンテンツを管理しています。私はフォームを使って何かを変えていくという考え方から始めました。フォームが検証されて処理されると、ユーザーは別のページにリダイレクトされるはずです。ドキュメントを通して見ると)(レンダリングする簡単な方法があります:django-hostsの使用中にdjangoでリダイレクトする方法は?

settings_url = reverse('settings', host='dashboard') 
return render(request, 'dashboard/settings.html', {'settings_url': settings_url}) 

はしかし、リダイレクトの言及がありません()。それでは、どのよう私が代わりに通常のreturn redirect("dashboard:settings")

myappに/ hosts.pyの、どこか別の場所にリダイレクトするに行くか:

host_patterns = patterns('', 
    host(r'www', settings.ROOT_URLCONF, name='www'), 
    host(r'dashboard\.myapp\.com', 'dashboard.urls', name='dashboard'), 
) 

ダッシュボード/ urls.py

from .views import home, websitesettings 

urlpatterns = [ 
    url(r'^$', home, name='home'), 
    url(r'^settings/$', websitesettings, name='settings'), 
] 

基本的には私が望むのは、フォームが送信された後に同じページにリダイレクトすることです(レンダリングの例では、私は特定のウェブサイトの設定を変更するフォームを送信しています。これはiモデルです私はそれ以降同じページにリダイレクトしたい)。

答えて

1

よく夜間を過ごし、皮肉なことに簡単な解決策を考え出すには、いくつかの複雑で複雑な試みが必要でした。 djngosのネイティブリダイレクトをdjango-hosts reverse関数と組み合わせて使用​​すると、魅力的に機能します。

from django_hosts.resolvers import reverse 

return redirect(reverse('home', host='dashboard')) 
+0

どのようにして認証を機能させますか?親切に私の問題を見てください。https://stackoverflow.com/questions/48721685/django-hosts-not-working-with-djangos-default-authentication – YoYo

関連する問題