crwed 6 months ago
parent f417ebcb4a
commit 80e9d7d982

@ -1,6 +1,5 @@
from django.apps import AppConfig from django.apps import AppConfig
class App01Config(AppConfig): class App01Config(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'app01' name = 'app01'

@ -1,7 +1,5 @@
from django.db import models from django.db import models
# Create your models here.
class StuInfo(models.Model): class StuInfo(models.Model):
username = models.CharField(verbose_name='用户名', max_length=32, unique=True) username = models.CharField(verbose_name='用户名', max_length=32, unique=True)
password = models.CharField(verbose_name='密码', max_length=64) password = models.CharField(verbose_name='密码', max_length=64)
@ -14,21 +12,18 @@ class StuInfo(models.Model):
department = models.ForeignKey(verbose_name='学院', to='Department', to_field='id', on_delete=models.CASCADE) department = models.ForeignKey(verbose_name='学院', to='Department', to_field='id', on_delete=models.CASCADE)
course = models.ManyToManyField(to='CourseInfo', through='Select') course = models.ManyToManyField(to='CourseInfo', through='Select')
class Department(models.Model): class Department(models.Model):
department_name = models.CharField(verbose_name='学院名', max_length=32) department_name = models.CharField(verbose_name='学院名', max_length=32)
def __str__(self): def __str__(self):
return self.department_name return self.department_name
class CourseInfo(models.Model): class CourseInfo(models.Model):
course_name = models.CharField(verbose_name='课程名称', max_length=32) course_name = models.CharField(verbose_name='课程名称', max_length=32)
course_brief = models.CharField(verbose_name='课程介绍', max_length=128, default='') course_brief = models.CharField(verbose_name='课程介绍', max_length=128, default='')
class_hour = models.SmallIntegerField(verbose_name='课时') class_hour = models.SmallIntegerField(verbose_name='课时')
points = models.SmallIntegerField(verbose_name='学分') points = models.SmallIntegerField(verbose_name='学分')
class AdminInfo(models.Model): class AdminInfo(models.Model):
username = models.CharField(verbose_name='用户名', max_length=32) username = models.CharField(verbose_name='用户名', max_length=32)
password = models.CharField(verbose_name='密码', max_length=64) password = models.CharField(verbose_name='密码', max_length=64)

@ -4,12 +4,10 @@ from django.contrib import messages
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger # 分页组件 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger # 分页组件
from app01 import models from app01 import models
# Create your views here. # Create your views here.
def index(request): def index(request):
return render(request, 'homepage.html') return render(request, 'homepage.html')
def login(request): def login(request):
if request.method == 'GET': if request.method == 'GET':
return render(request, 'login.html', ) return render(request, 'login.html', )
@ -37,11 +35,9 @@ def login(request):
else: else:
return HttpResponse('failed') return HttpResponse('failed')
def manage_homepage(request): def manage_homepage(request):
return render(request, 'homepage_admin.html') return render(request, 'homepage_admin.html')
def manage_student(request): def manage_student(request):
search_key = request.GET.get('key', '') search_key = request.GET.get('key', '')
students = models.StuInfo.objects.filter(name__contains=search_key).all() students = models.StuInfo.objects.filter(name__contains=search_key).all()
@ -56,7 +52,6 @@ def manage_student(request):
students = paginator.page(paginator.num_pages) students = paginator.page(paginator.num_pages)
return render(request, 'student_manage.html', locals()) return render(request, 'student_manage.html', locals())
def manage_course(request): def manage_course(request):
search_key = request.GET.get('key', '') search_key = request.GET.get('key', '')
courses = models.CourseInfo.objects.filter(course_name__contains=search_key).all() courses = models.CourseInfo.objects.filter(course_name__contains=search_key).all()
@ -71,7 +66,6 @@ def manage_course(request):
courses = paginator.page(paginator.num_pages) courses = paginator.page(paginator.num_pages)
return render(request, 'course_manage.html',locals()) return render(request, 'course_manage.html',locals())
class StuForm(ModelForm): class StuForm(ModelForm):
class Meta: class Meta:
model = models.StuInfo model = models.StuInfo
@ -83,7 +77,6 @@ class StuForm(ModelForm):
for field in self.fields.values(): for field in self.fields.values():
field.widget.attrs['class'] = 'form-control' field.widget.attrs['class'] = 'form-control'
def add_student(request): def add_student(request):
if request.method == 'GET': if request.method == 'GET':
form = StuForm() form = StuForm()
@ -97,7 +90,6 @@ def add_student(request):
else: else:
return render(request, 'student_add.html', {'form': form}) return render(request, 'student_add.html', {'form': form})
def edit_student(request, sid): def edit_student(request, sid):
queryset = models.StuInfo.objects.filter(id=sid).first() queryset = models.StuInfo.objects.filter(id=sid).first()
if request.method == 'GET': if request.method == 'GET':
@ -143,7 +135,6 @@ def add_course(request):
else: else:
return render(request, 'course_add.html', {'form': form}) return render(request, 'course_add.html', {'form': form})
def edit_course(request, cid): def edit_course(request, cid):
queryset = models.CourseInfo.objects.filter(id=cid).first() queryset = models.CourseInfo.objects.filter(id=cid).first()
if request.method == 'GET': if request.method == 'GET':
@ -158,17 +149,11 @@ def edit_course(request, cid):
else: else:
return render(request, 'course_edit.html', {'form': form}) return render(request, 'course_edit.html', {'form': form})
def delete_course(request, cid): def delete_course(request, cid):
models.CourseInfo.objects.filter(id=cid).first().delete() models.CourseInfo.objects.filter(id=cid).first().delete()
return redirect('/manage/course/list/') return redirect('/manage/course/list/')
def manage_select(request): def manage_select(request):
# student_objs = models.StuInfo.objects.all()
# queryset = {}
# for obj in student_objs:
# queryset[obj.name] = obj.course.all()
# 获取当前页数 # 获取当前页数
selects = models.Select.objects.all() selects = models.Select.objects.all()
print(selects) print(selects)
@ -182,7 +167,6 @@ def manage_select(request):
selects = paginator.page(paginator.num_pages) selects = paginator.page(paginator.num_pages)
return render(request, 'select_manage.html', locals()) return render(request, 'select_manage.html', locals())
def delete_select(request, id): def delete_select(request, id):
models.Select.objects.filter(id=id).first().delete() models.Select.objects.filter(id=id).first().delete()
return redirect('/manage/select/list/') return redirect('/manage/select/list/')

@ -20,41 +20,34 @@ from app01 import views
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
# 主页登录两个页面的URL # 主页登录两个页面的URL
# 主页
path('', views.index), path('', views.index),
# 登录 # 登录
path('login/', views.login), path('login/', views.login),
# 学生选课页面学生已选页面的URL
# 学生选课页面 # 学生选课页面
path('stu/index/<int:sid>/', views.student_index, name='student_index'), path('stu/index/<int:sid>/', views.student_index, name='student_index'),
# 已选页面 # 已选页面
path('stu/selected/<int:sid>/', views.student_selected, name='student_selected'), path('stu/selected/<int:sid>/', views.student_selected, name='student_selected'),
# 管理员主页,学生信息查增改删,课程信息查增 # 管理员主页,学生信息查增改删,课程信息查增
# 管理员首页
path('manage/homepage/', views.manage_homepage), path('manage/homepage/', views.manage_homepage),
# 学生信息列表页面 # 学生信息列表
path('manage/stu/list/', views.manage_student), path('manage/stu/list/', views.manage_student),
# 学生信息添加页面 # 学生信息添加
path('manage/stu/add/', views.add_student), path('manage/stu/add/', views.add_student),
# 学生信息编辑页面 # 学生信息编辑
path('manage/stu/edit/<int:sid>/', views.edit_student), path('manage/stu/edit/<int:sid>/', views.edit_student),
# 学生信息删除url # 学生信息删除url
path('manage/stu/del/<int:sid>/', views.delete_student), path('manage/stu/del/<int:sid>/', views.delete_student),
# 课程列表页面 # 课程列表
path('manage/course/list/', views.manage_course), path('manage/course/list/', views.manage_course),
# 课程添加页面 # 课程添加
path('manage/course/add/', views.add_course), path('manage/course/add/', views.add_course),
# 课程信息编辑页面 # 课程信息编辑
path('manage/course/edit/<int:cid>/', views.edit_course), path('manage/course/edit/<int:cid>/', views.edit_course),
# 课程信息删除url # 课程信息删除url
path('manage/course/del/<int:cid>/', views.delete_course), path('manage/course/del/<int:cid>/', views.delete_course),
# 选课列表页面 # 选课列表
path('manage/select/list/', views.manage_select), path('manage/select/list/', views.manage_select),
# 删除选课信息url # 删除选课信息url
path('manage/select/del/<int:id>/', views.delete_select), path('manage/select/del/<int:id>/', views.delete_select),

@ -1,8 +1,6 @@
""" """
WSGI config for djangoProject project. WSGI config for djangoProject project.
It exposes the WSGI callable as a module-level variable named ``application``. It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see For more information on this file, see
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/ https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
""" """
@ -12,5 +10,4 @@ import os
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoProject.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoProject.settings')
application = get_wsgi_application() application = get_wsgi_application()

Loading…
Cancel
Save