django实现用户登录代码
时间: 2024-01-01 18:06:11 浏览: 25
我可以帮您提供 Django 实现用户登录的代码,您可以参考以下代码实现:
views.py
```python
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages
def login_view(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.error(request, 'Invalid username or password!')
return render(request, 'login.html')
def logout_view(request):
logout(request)
return redirect('home')
```
urls.py
```python
from django.urls import path
from .views import login_view, logout_view
urlpatterns = [
path('login/', login_view, name='login'),
path('logout/', logout_view, name='logout'),
]
```
login.html
```html
{% extends 'base.html' %}
{% block content %}
<h2>Login</h2>
{% if messages %}
{% for message in messages %}
<div class="alert alert-danger" role="alert">
{{ message }}
</div>
{% endfor %}
{% endif %}
<form method="post">
{% csrf_token %}
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name="username">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
{% endblock %}
```
注意:以上代码仅供参考,应该根据具体的项目需求进行修改和调整。