广东外语外贸大学南国商学院的pythonweb大作业

yang yi 03166ec9c1 # feat:主页轮播图修改为使用数据库中记录的轮播图 2 hafta önce
pythonweb 03166ec9c1 # feat:主页轮播图修改为使用数据库中记录的轮播图 2 hafta önce
文章 26ed5d631c 学院简介和教师信息文章 2 hafta önce
.gitignore c97fd6408d # init:项目初始化 4 hafta önce
readme.md 80fd49ddb3 # doc:记录django模型的使用过程; 2 hafta önce
requirements.txt c00d2fbe4a # config:环境依赖配置文件 3 hafta önce
图片素材.md 84f5b2fc5a 图片素材 2 hafta önce

readme.md

广东外语外贸大学南国商学院-pythonweb大作业

参考IP:47.103.207.39

python版本3.7.x

参考网站:计算机学院官网

初始化

使用python 3.7.6

  1. 安装Django

pip install Django

  1. 创建初始化项目

django-admin startproject pythonweb

  1. 运行测试

python manage.py runserver 0.0.0.0:8000

  1. 新增模块

python manage.py startapp homeApp

  1. 配置新增模块

    INSTALLED_APPS = [
       'django.contrib.admin',
       'django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.messages',
       'django.contrib.staticfiles',
       'homeApp',#主页
       'aboutApp',#学院简介
       'teamApp',#教师团队
       'scientificApp',#科研
       'partyApp',#党建
       'admissionsAndEmploymentApp',#招生和就业
    ]
    
  2. 创建依赖管理文件

pip freeze > requirements.txt

  1. 创建static静态资源目录和templates模板目录

编辑settings.py文件,配置静态资源加入django管理

``

配置模板的路径

TEMPLATES = [
   {
       ...,
       'DIRS': [BASE_DIR / 'templates'],
   },
]

配置静态资源

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
  1. 路由配置

    • 正向路由配置,编辑urls.py文件

      from django.contrib import admin
      from django.urls import path
      from homeApp.views import home
      urlpatterns = [
       path('admin/', admin.site.urls),
       path('',home,name='home'), #正向路由
      ]
      
    • 反向路由,编辑urls.py

      from django.conf.urls import include
      urlpatterns = [
       ...,
       path('aboutApp/', include('aboutApp.urls')),
      ]
      

    在aboutApp中添加一个urls.py文件,并进行路由配置

     > from django.urls import path
     > from . import views
     > 
     > app_name = 'aboutApp'
     > 
     > urlpatterns = [
     >     path('survey/', views.survey, name='survey'),  # 学院概况
     >     path('leader/', views.leader, name='leader'),     # 领导分工
     > ]
     > ```
    
    9. 数据模型配置
    
      - 创建一个common模块,在models.py中定义数据模型
    
      > 定义一个文章模型和轮播图模型
    
    

    python class Article(models.Model):

      CATEGORY_CHOICES = [
          ('professional', '专业介绍'),
          ('leader', '领导分工'),
          ('academic_leader', '学院学科建设带头人教师'),
          ('computer_science', '计算机系教师'),
          ('software_engineering', '软件工程系教师'),
          ('digital_media', '数字媒体技术系教师'),
          ('iot_networking', '物联网与网络工程系教师'),
          ('math_teaching', '数学教研室教师'),
          ('party_work', '党政学工队伍教师'),
          ('scientific', '教学科研'),
          ('party_dynamic', '党建动态'),
          ('youth_dynamic', '团学动态'),
          ('admissions', '招生'),
          ('employment', '就业'),
      ]
      title = models.CharField(max_length=200, verbose_name='标题')
      markdown_content = models.TextField(verbose_name='markdown内容')
    #blank=True配置    
      html_content = models.TextField(verbose_name='html内容',blank=True)
      created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
      updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
      category = models.CharField(max_length=50, choices=CATEGORY_CHOICES, verbose_name='文章分类')
      cover = models.URLField(verbose_name='封面')
    
      class Meta:
          ordering = ['-created_at']
    
      def __str__(self):
          return self.title
    

    class Banner(models.Model):

      title = models.CharField(max_length=200, verbose_name='标题')
      url = models.URLField(verbose_name='链接')
      order = models.IntegerField(default=0, verbose_name='序号')
    
      class Meta:
          ordering = ['order']
    
      def __str__(self):
          return self.title
    
    
      - 在admin中注册定义的模型,编译admin.py文件
    
    

    python from django.contrib import admin

    from common.models import Article, Banner

    # Register your models here. admin.site.register(Article) admin.site.register(Banner) ```

    更新模型信息:python manage.py makemigrations common

    同步模型与数据表python manage.py migrate common

    创建超级管理员用于登陆django的后台:python manage.py createsuperuser

工作内容分工

  • 图片链接收集
  • 文章数据收集(html2markdown)
  • 前端页面开发
  • 管理后台开发
  • 前后端对接
  • 功能测试与接口测试
  • 初始数据维护
  • 打包部署上线
姓名 负责内容 备注

功能模块

参考网站:计算机学院官网

  • 首页
  • 学院信息
    • 学院概况
    • 领导分工
    • 机构设置
    • 专业介绍
  • 教师队伍
    • 学院学科建设带头人
    • 计算机系
    • 软件工程系
    • 数字媒体技术系
    • 物联网与网络工程系
    • 数学教研室
    • 党政学工队伍
  • 科研工作
  • 党团工作
    • 党建工作
    • 团学工作
  • 招生就业
    • 招生信息
    • 就业信息

数据库设计

概要设计

  • 用户(ID,账号,密码,用户名,角色,头像)

角色:管理员,用户

  • 文章(ID,标题,markdown内容,,html内容,时间,创建人,文章分类,封面)

文章分类:专业介绍,领导分工,学院学科建设带头人教师,计算机系教师,软件工程系教师,数字媒体技术系教师,物联网与网络工程系教师,数学教研室教师,党政学工队伍教师,教学科研,党建动态,团学动态,招生,就业

  • 首页轮播图(标题,链接,序号)

物理设计