用python Django写一个后端注册登录程序用mysql储存数据代码实现
时间: 2023-04-09 20:02:38 浏览: 89
可以回答这个问题。以下是一个简单的用Python Django写的后端注册登录程序,使用MySQL储存数据的代码实现:
1. 安装Django和MySQL驱动程序
```
pip install django
pip install mysqlclient
```
2. 创建Django项目和应用
```
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
```
3. 配置数据库
在myproject/settings.py文件中,将DATABASES设置为:
```
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
```
其中,mydatabase是你的数据库名称,mydatabaseuser是你的数据库用户名,mypassword是你的数据库密码,localhost是你的数据库主机名,3306是你的数据库端口号。
4. 创建用户模型
在myapp/models.py文件中,创建一个用户模型:
```
from django.db import models
class User(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
```
5. 创建注册和登录视图
在myapp/views.py文件中,创建一个注册视图和一个登录视图:
```
from django.shortcuts import render, redirect
from .models import User
def register(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = User.objects.create(username=username, password=password)
return redirect('login')
else:
return render(request, 'register.html')
def login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = User.objects.filter(username=username, password=password).first()
if user:
return redirect('home')
else:
return render(request, 'login.html', {'error': '用户名或密码错误'})
else:
return render(request, 'login.html')
```
6. 创建注册和登录模板
在myapp/templates目录下,创建一个register.html模板和一个login.html模板:
register.html:
```
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>注册</h1>
<form method="post">
{% csrf_token %}
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
login.html:
```
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
{% if error %}
<p>{{ error }}</p>
{% endif %}
<form method="post">
{% csrf_token %}
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
7. 创建主页视图和模板
在myapp/views.py文件中,创建一个主页视图:
```
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
```
在myapp/templates目录下,创建一个home.html模板:
```
<!DOCTYPE html>
<html>
<head>
<title>主页</title>
</head>
<body>
<h1>欢迎来到主页</h1>
</body>
</html>
```
8. 配置URL路由
在myproject/urls.py文件中,将URL路由设置为:
```
from django.contrib import admin
from django.urls import path
from myapp.views import register, login, home
urlpatterns = [
path('admin/', admin.site.urls),
path('register/', register, name='register'),
path('login/', login, name='login'),
path('home/', home, name='home'),
]
```
9. 运行Django项目
在命令行中,进入myproject目录,运行以下命令:
```
python manage.py runserver
```
然后在浏览器中访问http://127.0.0.1:8000/register,就可以注册用户了。注册成功后,可以访问http://127.0.0.1:8000/login进行登录,登录成功后,就可以访问http://127.0.0.1:8000/home进入主页了。