Web实战丨基于django+html+css+js的学院门户网站

文章目录

  • 写在前面
  • 项目概述
    • 基本信息
    • 项目需求
  • 项目框架
    • 程序设计
    • 运行结果
    • 项目总结
  • 写在后面

写在前面

本期内容:基于Django+Html+Css+JavaScript的学院门户网站

项目需求:

  • python
  • django

项目下载地址:https://download.csdn.net/download/m0_68111267/88726654

项目概述

Web系统与技术课程旨在培养学生对Web系统的设计、开发和管理能力。课程内容包括Web系统的基本概念、体系结构和工作原理,以及常用的Web开发技术和工具。学生将学习HTML、CSS、JavaScript等前端技术,掌握服务器端技术如PHP、ASP.NET、Java等,了解数据库的设计和管理,学习Web系统的安全性和性能优化等方面的知识。通过课程学习,学生将掌握Web系统的设计与开发方法,能够独立完成一个简单的Web应用的设计与开发,具备Web系统的维护和管理能力。本课程注重实践操作,通过大量的编程实践和项目实践,培养学生的实际操作能力和团队合作能力。本项目将模拟一个学院网站设计,具体包括:“首页”“学院简介”“新闻动态”“服务支持”“产品中心”“科研基地”“人才招聘”共7个模块,每个模块可能包含两至三个子模块用于进一步细分功能。

基本信息

本项目主要用Python的Django,以及Html+Css+JavaScript实现。

  • 前端代码:Html+Css+JavaScript
  • 后端代码:Python
  • 数据库:db.sqlite3
  • 网站首页地址:http://127.0.0.1:8000(本地运行)
  • 网站后台地址:http://127.0.0.1:8000/admin
  • 后台账号:Want595
  • 后台密码:Want595

项目需求

  1. 科研基地:该模块主要用于展示学院科研基地相关内容,包括科研基地的文字描述和图片等,该模块功能较为单一,仅包含一个页面,并以静态页面形式提供访问和浏览。

  2. 学院简介:包含两个子模块,分别是“学院概况”和“校园风光”。“学院概况”用于对学院进行简短的展示,包括说明文字和图片,用以展示学院的历史、核心产品、经营理念等。“校园风光”子模块主要以展报形式罗列学院历年来获得的风光,该模块随着学院发展,需要动态地增加相关内容。因此,为了方便管理员后期编辑网站内容,需要将该页面内容与数据库进行绑定,后期可以动态地添加荣誉信息。

  3. 产品中心:包含三个子模块,分别是“家用机器人”“智能监控”和“人脸识别技术”,对应学院的三大主流产品。用户浏览产品时通过各个子模块链接切换可以按类别对产品进行浏览。因此,“产品中心”模块实现时需要能够从后台数据库按类型获取数据并进行页面渲染。

  4. 新闻动态:“新闻动态”模块包含三个子模块,分别是“学院要闻”“行业新闻”和“通知公告”。与“产品中心”模块类似,用户可以通过各个子模块链接按新闻类型切换到指定子模块进行浏览。新闻内容以图文形式进行展现,并且管理员可以自定义图片和文字的格式。

  5. 人才招聘:该模块包含两个子模块,分别是“欢迎咨询”和“加入我们”。“欢迎咨询”子模块主要用于展示学院联系人信息以及学院地理位置,需要在实现时嵌入百度地图以方便浏览者查找位置。“加入我们”子模块用来为学院招聘提供一个互动渠道,招聘员在网站上发布招聘职位并显示在该子模块页面上,应聘者浏览该页面并通过该页面上的表单提交个人信息。

  6. 服务支持:该模块包含一个子模块“资料下载”。“资料下载”子模块用于为用户提供资料下载链接,用户通过这些链接可以下载该学院的风景等等。

  7. 首页:该模块作为一个学院门户网站的入口模块具有非常重要的作用,需要能够全方位地展示学院各版块功能,同时需要兼具美观、清晰的特性。另外,作为一个集成模块,首页需要调用其他模块的相关数据信息,并能够对数据进行过滤和排序。

  8. 后台:网站后台管理系统主要是用于对网站前台的信息进行管理,如文字、图片和其他日常文件的发布、更新、删除等操作。简单来说就是对网站数据进行维护,使得前台内容能够得到及时更新和调整。学院网站需要建设高效稳定的后台管理系统以方便管理人员查看、编辑、修改网站内容。在实际的网站部署时,学院网站往往部署在云服务器上,网站管理人员只需要通过互联网即可登录后台管理系统实现网站维护。交互性友好的后台管理系统可以使得网站管理人员即使没有开发经验依然可以快速地进行信息查找和修改,实现网站的稳定运维。

项目框架

1

程序设计

1. 系统配置

1-1

1-2

2. 主要代码

各个界面都继承了base.html文件:

{% load static %}
<!DOCTYPE html>
<html lang="zh-cn"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>常熟理工丨{% block title %}{% endblock %}</title><link href="{% static 'css/bootstrap.css' %}" rel="stylesheet"><link href="{% static 'css/style.css' %}" rel="stylesheet"><script src="{% static 'js/jquery.min.js' %}"></script><script src="{% static 'js/bootstrap.min.js' %}"></script></head><body><div class="container top"><div class="row"><div class="col-md-6"><a><img class="img-responsive" src="{% static 'img/logo.jpg' %}"></a></div><div class "col-md-3 hidden-xs"><a class="phone"><span class="glyphicon glyphicon-phone"></span>电话:6666 6666&nbsp;&nbsp;</a></div><div class="col-md-3 hidden-xs"><a class="mail"><span class="glyphicon glyphicon-envelope"></span>邮箱:cslg@126.com</a></div></div></div><nav class="navbar navbar-default" role="navigation"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example" aria-expanded="false"><span>导航栏</span></button></div><div class="collapse navbar-collapse" id="bs-example"><ul class="nav navbar-nav" style="width:100%;"><li class="nav-top"><a href="{% url 'home' %}">首页</a></li><li class="dropdown nav-top"><a href="#" class="dropdown-toggle on" data-toggle="dropdown">学院简介</a><ul class="dropdown-menu"><li><a href="{% url 'aboutApp:survey' %}">学院概况</a></li><li><a href="{% url 'aboutApp:honor' %}">校园风光</a></li></ul></li><li class="dropdown nav-top" id='news'><a href="#" class="dropdown-toggle on" data-toggle="dropdown">新闻动态</a><ul class="dropdown-menu"><li><a href="{% url 'newsApp:news' 'company' %}">学院要闻</a></li><li><a href="{% url 'newsApp:news' 'industry' %}">行业新闻</a></li><li><a href="{% url 'newsApp:news' 'notice' %}">通知公告</a></li></ul></li><li class="dropdown nav-top" id='products'><a href="#" class="dropdown-toggle on" data-toggle="dropdown">产品中心</a><ul class="dropdown-menu"><li><a href="{% url 'productsApp:products' 'robot' %}">家用机器人</a></li><li><a href="{% url 'productsApp:products' 'monitor' %}">智能监控</a></li><li><a href="{% url 'productsApp:products' 'face' %}">人脸识别</a></li></ul></li><li class="dropdown nav-top"><a href="#" class="dropdown-toggle on" data-toggle="dropdown">服务支持</a><ul class="dropdown-menu"><li><a href="{% url 'serviceApp:download' %}">资料下载</a></li></ul></li><li class="nav-top" id='science'><a href="{% url 'scienceApp:science' %}">科研基地</a></li><li class="dropdown nav-top"><a href="#" class="dropdown-toggle on" data-toggle="dropdown">人才招聘</a><ul class="dropdown-menu"><li><a href="{% url 'contactApp:contact' %}">欢迎咨询</a></li><li><a href="{% url 'contactApp:recruit' %}">加入我们</a></li></ul></li></ul></div></div></nav><div class="line"></div>{% block content %}{% endblock %}<div class="row" id="map-footer"><div class="col-md-2"><dl><dt>学院简介</dt><dd><a href="{% url 'aboutApp:survey' %}">学院概况</a></dd><dd><a href="{% url 'aboutApp:honor' %}">校园风光</a></dd></dl></div><div class="col-md-2"><dl><dt>产品中心</dt><dd><a href="{% url 'productsApp:products' 'robot' %}">家用机器人</a></dd><dd><a href="{% url 'productsApp:products' 'monitor' %}">智能监控</a></dd><dd><a href="{% url 'productsApp:products' 'face' %}">人脸识别</a></dd></dl></div><div class="col-md-2"><dl><dt>服务支持</dt><dd><a href="{% url 'serviceApp:download' %}">资料下载</a></dd></dl></div><div class="col-md-2"><dl><dt>人才招聘</dt><dd><a href="{% url 'contactApp:contact' %}">欢迎咨询</a></dd><dd><a href="{% url 'contactApp:recruit' %}">加入我们</a></dd></dl></div><div class="col-md-4" id="wx"><p>扫描二维码,了解我们</p><img class="qrimg" src="{% static 'img/qr.png' %}" alt="wx"><p>客服热线:<b style="font-size:20px">666 777 888</b></p></div></div><div class="contanier web-footer"><div class="row" id="map-footer"></div><div class="row" id="patent-footer"><p>版权所有丨Want595</p></div></div><script>$(function(){$(".dropdown").mouseover(function(){$(this).addClass("open");});$(".dropdown").mouseleave(function(){$(this).removeClass("open");});});</script><script type="text/JavaScript">$('#{{active_menu}}').addClass("active");</script><script type="text/JavaScript">$('#{{sub_menu}}').addClass("active");</script></body></html>

这是一个基本的HTML模板文件,用于构建一个网页。

首先,{% load static %}是Django模板中的一个指令,用于加载静态文件。static是一个Django应用中存放静态文件的目录。

然后,定义了一些常用的HTML标签,如head、body、div、a等。

在head标签中,引入了一些外部的样式文件和脚本文件,这些文件是通过静态文件目录中的路径来引用的。例如,link href=“{% static ‘css/bootstrap.css’ %}” rel=“stylesheet” 就引入了一个名为bootstrap.css的样式文件。

在body标签中,有一个顶部的导航栏和一个主内容区域。导航栏使用了Bootstrap框架的样式,并通过Django的URL命名空间来定义导航链接的目标页面。

在主内容区域中,使用了Django的模板继承机制。其中{% block title %}{% endblock %}表示一个可被子模板重写的标题区域,子模板可以在这个区域中填入自己的标题信息。类似地,{% block content %}{% endblock %}表示一个可被子模板重写的内容区域,子模板可以在这个区域中填入自己的页面内容。

在页面底部,有一个底部导航栏和一个版权信息区域。底部导航栏分为几个部分,每个部分都有自己的链接目标页面。版权信息区域显示了一个二维码图片,以及客服热线的电话号码。

最后,使用了一些JavaScript代码,来实现一些交互功能。例如,当鼠标悬停在导航栏的下拉菜单上时,菜单会展开;当子模板中定义了active_menu和sub_menu变量时,对应的导航链接会被添加active类,以表示当前页面。

总结来说,这个模板文件是一个基本的网页骨架,在其中定义了页面的结构和样式,并通过Django的模板继承机制,允许子模板填充自己的标题和内容区域。同时,通过JavaScript代码,实现了一些交互效果。

运行结果

1. 首页

1

2. 学院简介

3

3. 新闻动态

4

4. 人脸识别

5

5. 服务支持

6

6. 科研基地

7

7. 人才招聘

8

8. 后台

3

项目总结

在基于Django开发一个简单的校园网站的过程中,我深刻体会到了Django框架的强大和便捷性。首先,Django提供了强大的数据库操作功能,轻松地实现了数据的增删改查。通过Django的ORM模块,我可以方便地定义数据模型,并且可以使用Python代码对数据库进行操作,避免了手写SQL语句的繁琐。其次,Django的模板系统使得网站的页面设计变得简单而又灵活。通过使用Django的模板语言,我可以轻松地将数据传递给前端页面,并且可以使用模板标签和过滤器对数据进行处理和展示。此外,Django还提供了完善的表单处理功能,我可以方便地定义表单并进行数据的验证和保存。最重要的是,Django的开发环境非常友好。通过使用Django自带的服务器,我可以直接在本地进行开发和测试,而无需额外安装和配置其他服务器软件。同时,Django还提供了丰富的开发工具和调试工具,使得开发过程更加高效和便捷。总的来说,基于Django开发一个简单的校园网站不仅给我带来了很大的开发便利,还让我深入了解和掌握了Django框架的基本原理和用法,对于以后进行Web开发有很大的帮助。

写在后面

我是一只有趣的兔子,感谢你的喜欢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/235325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA课程设计--类京东购物车设计

目录 小组成员 负责模块&#xff1a; 程序介绍&#xff1a; 1.前期调查&#xff1a; 1.1京东购物车页面 首页 购物车界面 商品信息界面 搜索界面 1.2程序设计页面 首页 购物车页面 商品信息界面 搜索界面&#xff1a; 2.使用环境&#xff1a; 3.技术支持 前端V…

Provide/Inject 依赖注入(未完待续)

父组件传递给子组件数据&#xff0c;通过props&#xff0c;但是需要逐层传递 provide/Inject 的推出就是为了解决这个问题&#xff0c;它提供了一种组件之间共享此类值的方式,不必通过组件树每层级显示地传递props 目的是为了共享那些被 认为对于一个组件树而言是全局的数据 p…

海外代理IP在游戏中有什么作用?

随着科技的飞速发展&#xff0c;手机和电脑等电子产品已成为互联网连接万物的重要工具&#xff0c;深度融入我们的日常生活&#xff0c;我们借助互联网完成工作、休闲和购物等任务&#xff0c;以求提升生活质量。 不仅如此&#xff0c;网络游戏也是人们心中最爱&#xff0c;它…

【51单片机】独立按键控制LED灯

不同于上篇文章只用代码控制&#xff0c;这次我们要再加上独立按键一同控制LED灯 目录 独立按键控制LED亮灭&#xff1a;代码实现&#xff1a; 独立按键控制LED状态&#xff1a;代码实现&#xff1a; 独立按键实现二进制LED显示&#xff1a;代码实现&#xff1a; 独立按键控制…

cpp_10_多重继承_钻石继承_虚继承

1 多重继承 一个类可以同时从多个基类继承实现代码。 1.1 多重继承的内存布局 子类对象内部包含多个基类子对象。 按照继承表的顺序依次被构造&#xff0c;析构的顺序与构造严格相反。 各个基类子对象按照从低地址到高地址排列。 // miorder.cpp 多重继承&#xff1a;一个子…

跑代码相关 初始环境配置

是看了这个视频&#xff1a;深度学习python环境配置_哔哩哔哩_bilibili 总结的个人笔记 这个是从零开始配python环境的比较好的经验教程&#xff1a; 深度学习python的配置&#xff08;Windows&#xff09; - m1racle - 博客园 (cnblogs.com) 然后关于CUDA和cuDNN&#xff…

武汉灰京文化:跨平台游戏的崛起,破壁无界,畅游全场!

随着科技的飞速发展&#xff0c;游戏平台之间的界限逐渐模糊&#xff0c;许多优秀的游戏已经不再只局限于单一的游戏设备平台。无论你身处何处&#xff0c;只要有网络连接&#xff0c;你就可以随时随地畅玩自己喜欢的游戏&#xff0c;而无需更换设备或重新安装&#xff0c;这无…

UniRepLKNet实战:使用UniRepLKNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集一些问题 摘要 大核卷积神经网络&#xff08;ConvNets&#xff09;近年来受到广泛关注&#xff0c;但仍存在两个关键问题需要进一步研究。首先&#xff0c;目前的大型卷积神经网络架构大…

docker 安装redis (亲测有效)

目录 1 安装 1 安装 1 将redis 的 tar 包 上传到服务器 上传之后tar 包&#xff0c;将他变成镜像 输入docker images,发现目前是没有镜像的&#xff0c;现在将tar 包变成镜像 docker load -i redis.tar以上就将tar 包变成镜像了 现在在宿主机找一个地方&#xff0c;存放数据…

Pytorch的GPU版本安装,在安装anaconda的前提下安装pytorch

本文基于conda安装GPU版本的PyTorch 文章目录 一、CUDA1.下载CUDA [点击下载](https://developer.nvidia.com/cuda-toolkit-archive)2.cuDNN [下载](https://developer.nvidia.com/login) 二、pytorch下载1.下载 [pytorch](https://pytorch.org/)2.查看cuda版本3.找到对应的版…

前缀和算法模板

一维前缀和 算法用途&#xff1a;快速求出数组中某一连续区间的和 一维前缀和算法模板 1、预处理出一个 dp 数组 要求原数组存储在 n 1 的空间大小中&#xff0c;其中后 n 个空间存数据。 dp数组&#xff0c;数组开 n 1个空间&#xff0c;dp[i] 表示 [ 1, i ] 区间内所有…

PyQt5零基础入门(二)——QLabel控件

前言 QLabel控件可以视为是一个标签项&#xff0c;具有显示文本、图像的作用。在本篇文章中将介绍QLabel控件的常见用法。 例子 显示文本 import sys from PyQt5.QtWidgets import *if __name__ "__main__":app QApplication([])label QLabel(Hello world!)la…

系统存储架构升级分享

一、业务背景 系统业务功能&#xff1a;系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: • 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响 •分布式缓存可进行单独扩容, 与存储及查询功能升级…

String#intern

1.intern方法 intern()方法可以在运行期间向字符串中动态加入字符串实例的方式&#xff0c;它的功能很简单,总结起来就一句话 可以在运行时向字符串池中添加字符串常量 添加的原则是&#xff0c;如果常量池中存在当前字符串&#xff0c;则直接返回常量池中它的引用&#xff1b…

NPS配置https访问web管理页面

因为NPS默认也支持http的访问&#xff0c;所以在部署完后就一直没在意这个事情。 因为服务器是暴露在公网内的&#xff0c;所以还是要安全一点才行。不然一旦远控的机器被破解了就很危险了 一、使用nginx反向代理访问 1、首先在nps的配置文件里关闭使用https选项&#xff0c;…

m1 + swoole(hyperf) + yasd + phpstorm 安装和debug

参考文档 Mac M1安装报错 checking for boost... configure: error: lib boost not found. Try: install boost library Issue #89 swoole/yasd GitHub 1.安装boost库 brew install boostbrew link boost 2.下载yasd git clone https://github.com/swoole/yasd.git 3.编…

@RequestParam

在我们写接口的时候&#xff0c;经常会用到这个注解来标记参数&#xff0c;通过这个注解我们可以把请求的url中的参数名和值映射到被标记的参数上。 比如下方&#xff0c;这个接口是通过传入的参数来查询相关信息的 我们定义这样一个接口&#xff0c;设置了8个参数&#xff0c;…

银联商务:Apache Doris 赋能“科技银商”,助力金融机构挖掘增长新机遇

本文导读&#xff1a; 在长期服务广大规模商户的过程中&#xff0c;银联商务已沉淀了庞大、真实、优质的数据资产数据&#xff0c;这些数据不仅是银联商务开启新增长曲线的基础&#xff0c;更是进一步服务好商户的关键支撑。为更好提供数据服务&#xff0c;银联商务实现了从 H…

【Python】编程练习的解密与实战(一)

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《Python | 编程解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1fa90;1. 初识Python &a…

【Flutter 开发实战】Dart 基础篇:最基本的语法内容

在深入了解 Dart 这门编程语言之前&#xff0c;我们需要了解一些关于 Dart 的最基本的知识&#xff0c;像是常量、变量、函数等等&#xff0c;这样才能够让我们的开发效率更上一层楼。在本节&#xff0c;我们将探讨一些基础语法&#xff0c;包括入口方法 main、变量、常量以及命…