使用django写一个登录注册界面
时间: 2024-06-10 11:10:07 浏览: 24
以下是一个简单的登录注册界面示例,使用Django框架和Bootstrap前端库:
1. 安装Django和Bootstrap:
```bash
pip install django
pip install django-bootstrap4
```
2. 创建Django项目和应用:
```bash
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
```
3. 编辑`myproject/settings.py`文件,添加应用和Bootstrap配置:
```python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 添加应用
'bootstrap4', # 添加Bootstrap
]
# Bootstrap配置
BOOTSTRAP4 = {
'include_jquery': True,
}
```
4. 编辑`myapp/views.py`文件,添加登录和注册视图函数:
```python
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(request, data=request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
form = AuthenticationForm()
return render(request, 'login.html', {'form': form})
def register_view(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=password)
login(request, user)
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'register.html', {'form': form})
```
5. 创建`myapp/templates`目录,添加登录和注册模板文件:
`login.html`:
```html
{% extends 'base.html' %}
{% block content %}
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="btn btn-primary">Login</button>
</form>
{% endblock %}
```
`register.html`:
```html
{% extends 'base.html' %}
{% block content %}
<h2>Register</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="btn btn-primary">Register</button>
</form>
{% endblock %}
```
6. 创建`myapp/templates/base.html`文件,添加Bootstrap模板继承:
```html
{% load bootstrap4 %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}My Project{% endblock %}</title>
{% bootstrap_css %}
</head>
<body>
{% bootstrap_messages %}
<div class="container">
{% block content %}
{% endblock %}
</div>
{% bootstrap_javascript %}
</body>
</html>
```
7. 创建`myapp/urls.py`文件,添加登录和注册URL配置:
```python
from django.urls import path
from . import views
urlpatterns = [
path('login/', views.login_view, name='login'),
path('register/', views.register_view, name='register'),
]
```
8. 编辑`myproject/urls.py`文件,添加应用URL配置:
```python
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
```
9. 运行Django开发服务器:
```bash
python manage.py runserver
```
10. 访问`http://localhost:8000/register/`注册新用户,访问`http://localhost:8000/login/`登录已注册用户。登录成功后,重定向到主页`http://localhost:8000/`。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)