django mysql—学生管理系统

'''实现增删改查四个功能'''

在terminal中输入

python manage.py startapp studentapp(创建firstapp)

每次新创建的app都要在setting.py中 INSTALLED_APPS注册一下否则templates目录下的下的模板无法正常渲染

1.先建一个mysql数据库(库名:student)

2.在models中创建类

from django.db import models
class Student(models.Model):
    id=models.IntegerField(primary_key=True)
    name=models.CharField(max_length=20)
    age=models.IntegerField()
    sex=models.CharField(max_length=100)
    grade=models.IntegerField()
    hobby=models.TextField()

3.在setting.py文件中配置数据库

DATABASES = {
    'default': {
                 'ENGINE': 'django.db.backends.mysql',
                 'NAME': 'student',
                 'USER': 'root',
                 'PASSWORD': '123456',
                 'HOST': '127.0.0.1',
                 'PORT': '3306',
                 }
}

4. 生成表

在terminal中输入以下命令:
python manage.py makemigrations
(负责收集models.py文件中数据模型的变化,如果这里的文件内容没有发生任何变化,会提示:No changes detected)
python manage.py migrate
将数据模型生成为数据库中的表。

5.创建static文件夹将.css文件复制到文件夹下,在setting中设置

STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]

6将.HTML文件复制到templates中并修改(可通过继承精简代码)

'''base.html'''



    
    {% block title %}{% endblock %}{#留着子模板填充#}


     

学生管理系统

{% block content %}{% endblock %}
{#居中#} ‘’‘first.html’‘’ {% extends 'base.html' %} {% block title %}{#填充父模板#} 欢迎登陆 {% endblock %} {% block content %} {% endblock %} '''add.html''' {% extends 'base.html' %} {% block title %} 添加 {% endblock %} {% block content %}
{% csrf_token %}





{% endblock %} '''delete.html''' {% extends 'base.html' %} {% block title %} 删除 {% endblock %} {% block content %}
{% csrf_token %}
{% endblock %} '''update.html''' {% extends 'base.html' %} {% block title %} 修改 {% endblock %} {% block content %}
{% csrf_token %}





{% endblock %} '''select.html''' {% extends 'base.html' %} {% block title %} 查询 {% endblock %} {% block content %}
{% csrf_token %}
{% if s %}
学号:{{ s.id }}      姓名:{{ s.name }}      年龄:{{ s.age }}      性别:{{ s.sex }}      年级:{{ s.grade }}      爱好:{{ s.hobby }}.
{% endif %} {% endblock %} '''success.html''' {% extends 'base.html' %} {% block title %} 操作成功 {% endblock %} {% block content %}

操作成功

{% endblock %}

7.在views中编写功能函数

from django.shortcuts import render
from .models import Student
def first(request):
    return render(request,template_name='first.html')
def success(request):
    return render(request,template_name='success.html')
def add(request):
    if request.method=='GET':
        context={
            'submit_type':'添加',
            'url':'/add/'
        }
        return render(request, template_name='add.html', context=context)
    elif request.method=='POST':
        id=request.POST.get('id')
        name=request.POST.get('name')
        age=request.POST.get('age')
        sex=request.POST.get('sex')
        grade=request.POST.get('grade')
        hobby=request.POST.get('hobby')
        s=Student(id=id,name=name,age=age,sex=sex,grade=grade,hobby=hobby)
        s.save()
        return render(request,template_name='success.html')
def delete(request):
    if request.method=='GET':
        context={
            'submit_type':'删除',
            'url':'/delete/'
        }
        return render(request, template_name='delete.html', context=context)
    elif request.method=='POST':
        id = request.POST.get('id')
        s = Student.objects.get(id=id)
        s.delete()
        return render(request, template_name='success.html')

def update(request):
    if request.method=='GET':
        context={
            'submit_type':'修改',
            'url':'/update/'
        }
        return render(request, template_name='update.html', context=context)
    elif request.method=='POST':
        id = request.POST.get('id')
        name = request.POST.get('name')
        age = request.POST.get('age')
        sex = request.POST.get('sex')
        grade = request.POST.get('grade')
        hobby = request.POST.get('hobby')
        s=Student.objects.get(id=id)
        s.name=name
        s.age=age
        s.sex=sex
        s.grade=grade
        s.hobby=hobby
        s.save()
        return render(request,template_name='success.html')
def select(request):
    if request.method == 'GET':
        context = {
            'submit_type': '查询',
            'url': '/select/'
        }
        return render(request, template_name='select.html', context=context)
    elif request.method == 'POST':
        id = request.POST.get('id')
        s = Student.objects.get(id=int(id))
        return render(request,template_name='select.html',context={'s':s,'submit_type':'查询','url':'/select/'})

8.urls中设置路由

from django.contrib import admin
from django.urls import path
from studentapp.views import add,delete,update,select,first
urlpatterns = [
    path('admin/', admin.site.urls),
    path('add/', add),
    path('delete/', delete),
    path('update/', update),
    path('select/', select),
    path('first/', first),
    path('success/', success)
]

8.启动项目

python manage.py runserver

9.登录

http://127.0.0.1:8000/first/

图片.png

你可能感兴趣的:(django mysql—学生管理系统)