2015-02-21 4 views
0

В принципе, я сделал страницу входа в систему, которая называется html. Я объясню проблему.Как реализовать простую страницу входа в Django?

У меня есть текущие закладки: Главная, профиль, лидеры и члены.

Однако для вкладки members для администратора добавьте и отредактируйте детали участников. В настоящее время любой может редактировать его, и это не реально реалистично - это должно быть только для администратора. После закладки вкладки я сделал вкладку «Администратор», на которой есть страница входа в систему, но когда я нажимаю «login» после ввода имени пользователя и пароля, он ничего не делает (потому что я не знаю, как это сделать).

Когда администратор ввел свои данные, они должны быть направлены на страницу членов, которую я уже создал.

В принципе, как мне перенаправить администратора к члену после входа в систему. Кнопка входа в систему не делает ничего атм. Я покажу вам, что у меня есть ..

Leaderboard.html (страницы перед тем администратора)

<li><a href="{% url 'index' %}">Home</a></li> 
    <li><a href="{% url 'profile' %}">Members Profile</a></li> 
    <li><a href="{% url 'leaderboard' %}">Leaderboard</a></li> 
    <li><a href="{% url 'admin' %}">Admin</a></li> 
    <li><a href="{% url 'all_members' %}">Members</a></li> 

login.html

<form action='' method='POST'> {% csrf_token %} 
    <div > 
     <label for='username'> Username </label> 
     <input type='text' name='Username' id='username'> 
     <label for='password'>Password </label> 
     <input type='password' name='Password' id='password'> 
     <input type='submit' value='login'> 
    </div> 
</form> 

Views.py

def login(request): 
    context = RequestContext(request) 
    return render_to_response("templates/login.html", context)  


def all_members(request): <-- Login should go to this view. 
    return render(request, 'templates/members.html', 
{'members': Member.objects.all()}) 

Urls.py

url(r'^$', views.index, name='index'), 
url(r'profile', views.profile, name='profile'), 
url(r'leaderboard', views.leaderboard, name='leaderboard'), 
url(r'login', views.login, name='login'), 
url(r'^(?P<member_id>\d+)/$', views.edit_member, name='edit_member'), 
url(r'^add/$', views.add_member, name='add_member'), 
url(r'members', views.all_members, name='all_members'), 
+2

Вы прочитали [очень полную документацию по аутентификации] (https://docs.djangoproject.com/en/1.7/topics/auth/)? –

+0

Аутентификация не требуется для моего примера – user4584967

+2

Э-э, что? Как вы можете войти без аутентификации? –

ответ

0

Если не будет проверять достоверность имени пользователя и пароля, просто написать свой вид входа в систему, как:

from django.shortcuts import redirect 

def login(request): 
    if request.method == 'POST': 
     return redirect('all_members') 
    else: 
     context = RequestContext(request) 
     return render_to_response("templates/login.html", context)  

Тем не менее, это очень странно, но случай использования он должен работать для вашего сценария.

+0

Большое вам спасибо! Это сработало :)) – user4584967

+2

Пожалуйста, не используйте это в production @ user4584967 ... – OozeMeister

+0

Noo..it - ​​часть работы для университета. Не о чем беспокоиться! – user4584967

Смежные вопросы