Django实现python3.7简单的增删改

JetBrains PyCharm Community Edition编写

1.首先创建一个项目,命名为mysite

django-admin startproject mystie 

2.在该项目下创建一个App, 以 student 为例

点击PyCharm工程中的Terminal

D:\PycharmProjects\mystie>python manage.py startapp student

3.在项目mysite中配置setting

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'student.apps.StudentConfig',
]
...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}
....
注销 # 'django.middleware.csrf.CsrfViewMiddleware',
....
#添加静态文件存放存放地址  'DIRS': [os.path.join(BASE_DIR, 'static')],
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'static')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

在这里插入图片描述

4.在mysite中配置 urls

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('stu/', include('student.urls')),
    path('admin/', admin.site.urls),
]

注意在student中新建一个空的urls.py

5.在Student App中models中创建一个Student模型类

from django.db import models


class Student(models.Model):
    name = models.CharField(max_length=30)
    no = models.CharField(max_length=20, primary_key=True)

    def __str__(self):
        return "%s,%s号" % (self.name, self.no)

6.创建好models类后,并进行数据库迁移

python manage.py makemigrations
python manage.py migrate

7.创建Student 的路由urls , 并对其进行增删改的配置

from django.urls import path, include

from student import views

urlpatterns = (
    path('list', views.index),
    path('add', views.add),
    path('del', views.del_stu),
    path('save', views.save)
)

8.编写views 视图函数

from django.shortcuts import render

from student.models import Student


def index(request):
    stu_list = Student.objects.all()
    return render(request, 'stu.html', {'data': stu_list})


def add(request):
    if request.method == 'POST':
        name = request.POST.get("name")
        no = request.POST.get("no")
        stu = Student(name=name, no=no)
        stu.save()
    return index(request)


def del_stu(request):
    if request.method == 'GET':
        no = request.GET.get('no')
        stu = Student.objects.filter(no=no)
        stu.delete()
    return index(request)


def save(request):
    if request.method == 'POST':
        name = request.POST.get('name')
        no = request.POST.get('no')
        stu = Student.objects.get(no=no)
        stu.name = name
        stu.no = no
        stu.save()
    return index(request)

9. 在Pycharm中启动

D:\PycharmProjects\mystie>python manage.py runserver

10.运行web服务

127.0.0.1:8000/stu/list
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/stu/add" method="post">
    名字:<input type="text" name="name">
    编号:<input type="text" name="no">
    <input type="submit" value="插入">
</form>
<ul>
    {% for student in data %}
    <li>{{student.no}}:{{student.name}}    <a href="/stu/del?no={{student.no}}">删除</a>
    </li>
    {% endfor %}
</ul>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值