1、创建一个Django项目
可参考之前的带你快速体验Django web应用
我使用的是mysql数据库。按照上述教程完成准备工作。
2、创建一个app并完成注册
demo主要来完成创建用户、修改用户、查询用户、删除用户的操作。
python manage.py startapp demo
3、app的目录
- 新建templates,用于存放用到的模版
- 新建urls,用于管理demo的路由
4、模型层
修改models.py
from django.db import models
# Create your models here.
class User(models.Model):
# 用戶名
username = models.CharField(max_length=20)
# 密码
password = models.CharField(max_length=20)
# 创建时间
# DateTimeField里面可以接收参数,auto_now_add是指使用第一次创建的时间。
create_time = models.DateTimeField(auto_now_add=True)
# 更新时间
# auto_now是指使用每次更新数据的时间
update_time = models.DateTimeField(auto_now=True)
5、创建用户
给用户一个前端交互页面,UI如下图,交互逻辑:用户访问http://127.0.0.1:8000/demo/create/,将看到创建用户的表单,点击提交会转到http://127.0.0.1:8000/demo/create/user/,进行用户的创建。
5.1 路由
首先,修改project下的urls.py,将demo添加进去。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("demo/", include("demo.urls")),
]
然后,在demo/urls.py中添加路由和视图
from django.urls import path
from demo.views import *
urlpatterns = [
path('create/user/', create_user),
path('create/', get_create_user_html),
]
5.2 模版
在demo/templates 下新建一个html文件,create_user_post.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>create user</title>
</head>
<body>
<form action="http://127.0.0.1:8000/demo/create/user/" method="post">
{% csrf_token %}
<p>用户名: <input type="text" name="username"></p>
<P>密码: <input type="text" name="password"></P>
<input type="submit" value="提交">
</form>
</body>
</html>
5.3 视图
接下来实现视图create_user 和 get_create_user_html
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from .models import User # 使用相对路径
def get_create_user_html(request):
return render(request, "create_user_post.html")
@csrf_exempt
def create_user(request):
# 获取表单中的username 和 password
username = request.POST["username"]
password = request.POST["password"]
# 将数据存放在字典中
data = {
"username": username, "password": password}
print(data)
# 获取user对象并执行数据库创建操作
obj = User.objects.all()
obj.create(</