Jump to content

Recommended Posts

Posted

Boas!

Na minha aplicação tenho a seguinte view:

def login(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                from django.contrib.auth import login
                login(request, user)
                return HttpResponseRedirect('/forum/profile/') # Redirect after POST
            else:
                return HttpResponseRedirect('forum/login/') # Redirect after POST
        else:
            return render_to_response('forum/login.html')
    else:
        return render_to_response('forum/login.html')

Tenho ali o seguinte import pelo meio:

from django.contrib.auth import login

Porque raio não posso meter isto como um import global? Se meto como global, dá-me erro..., diz que a função login espera apenas por 1 parâmetro e que estou a enviar 2, no entanto se fizer como tenho aqui funciona-me..., mas...

Mas não consigo ter o login a funcionar devidamente, tenho um menu com este código:

(...)
<div id="menu">
	<ul>
		<li><a href="/">Home</a></li>
            {% if user.is_authenticated %}
            <li><a href="/accounts/profile/">Perfil</a></li>
		<li><a href="/forum/">Fóruns</a></li>
            {% endif %}
		<li><a href="#">Menu 3</a></li>
		<li><a href="#">Menu 4</a></li>
		<li><a href="#">Menu 5</a></li>
	</ul>
</div>
{% block content %}{% endblock %}
(...)

Este menu aparece-me em todas as páginas, é um ficheiro à parte em que apenas mete para ali o "content" de cada uma das outras templates. Foi a forma que arranjei para evitar a redundância de menus e para poder gerir mais facilmente os menus (basta-me alterar um ficheiro).

No entanto, mesmo após o login efectuado continuo sem conseguir ver as opções do menu, porquê?

Posted

Tenho ali o seguinte import pelo meio:

from django.contrib.auth import login

Porque raio não posso meter isto como um import global? Se meto como global, dá-me erro...

Dá conflito com os nomes das funções não? A login que importas e a login que estás a definir.

Quanto ao resto não percebi direito qual era a dúvida. O menu não aparece?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.