2017-03-08 1 views
0

J'ai une page de connexion avec le formulaire suivant:L'utilisateur sélectionne la langue à la page de connexion en utilisant le formulaire django

<form class="login-form" name="LoginForm" action="{% url 'login' %}" method="post"> 
    {% csrf_token %} 
    <p> 
     <table> 
      <tr> 
       <td>{{ form.username.label_tag }} </td> 
       <td>{{ form.username }}</td> 
      </tr> 
      <tr> 
       <td>{{ form.password.label_tag }}</td> 
       <td>{{ form.password }}</td> 
      </tr> 
     </table> 
    </p> 
    <input class="button button-small" type="submit" value="Login" /> 
    <input type="hidden" name="next" value="{{ next }}" /> 
    </form> 
    <a>English</a> 
    <a>French</a> 

et j'ai un forms.py qui ressemble à ceci:

from django.contrib.auth.forms import AuthenticationForm 
from django import forms 

class LoginForm(AuthenticationForm): 
    username = forms.CharField(label="Username", max_length=30, 
           widget=forms.TextInput(attrs={'class': 'form-control', 'name': 'username'})) 
    password = forms.CharField(label="Password", max_length=30, 
           widget=forms.TextInput(attrs={'type': 'password', 'name': 'password', 'class': 'form-control'})) 

et urls .py qui ressemble à ceci:

from django.conf.urls import include, url 
from django.contrib import admin 
from django.contrib.auth import views as auth_views 
from stellar.forms import LoginForm 
from stellar.views import index2 
from django.conf.urls.i18n import i18n_patterns 
urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('example.urls')), 
    url(r'^login/$', auth_views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name = 'login'), 
    url(r'^logout/$', auth_views.logout, {'next_page': '/login'}), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
] 

en fait, si l'utilisateur clique sur l'anglais ou du français la langue de la page doit changer. Comment vais-je faire cela?

Répondre

1

Vous devez faire un autre formulaire en dessous de celui authentifié comme this.

{% load i18n %} 

<form action="{% url 'set_language' %}" method="post">{% csrf_token %} 

... 

Suivez les instructions à partir de là et tout ira bien! Faites-moi savoir si cela a fonctionné.

+0

Cela a fonctionné! Merci. – ALUW

+0

Content de pouvoir aider. Marquer cette réponse comme correcte et ... codage heureux! –

+0

J'ai dû attendre un peu de temps avant de pouvoir le marquer comme correct – ALUW