Quellcode durchsuchen

# feat:多模块搭建;公共静态资源和公共模板配置;路由和视图映射函数配置

yang yi vor 2 Wochen
Ursprung
Commit
af8f16c475

+ 11 - 0
pythonweb/aboutApp/urls.py

@@ -0,0 +1,11 @@
+from django.urls import path
+from . import views
+
+app_name = 'aboutApp'
+
+urlpatterns = [
+    path('survey/', views.survey, name='survey'),  # 学院简介
+    path('leader/', views.leader, name='leader'),     # 领导分工
+    path('organization/', views.organization, name='organization'),     # 机构设置
+    path('major/', views.major, name='major'),     # 专业介绍
+]

+ 12 - 0
pythonweb/aboutApp/views.py

@@ -1,3 +1,15 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 
 # Create your views here.
+def survey(request):
+    return HttpResponse('学院概况')
+
+def leader(request):
+    return HttpResponse("领导分工")
+
+def organization(request):
+    return HttpResponse('机构')
+
+def major(request):
+    return HttpResponse('专业介绍')

+ 9 - 0
pythonweb/admissionsAndEmploymentApp/urls.py

@@ -0,0 +1,9 @@
+from django.urls import path
+from . import views
+
+app_name = 'serviceApp'
+
+urlpatterns = [
+    path('admissions/', views.admissions, name='admissions'),
+    path('employment/', views.employment, name='employment'),
+]

+ 8 - 1
pythonweb/admissionsAndEmploymentApp/views.py

@@ -1,3 +1,10 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 
-# Create your views here.
+
+def admissions(request):
+    return HttpResponse('招生信息')
+
+
+def employment(request):
+    return HttpResponse('就业信息')

+ 45 - 0
pythonweb/homeApp/templates/home.html

@@ -0,0 +1,45 @@
+{% extends "base.html" %}
+{% load static %}
+
+{% block title %}
+主页
+{% endblock %}
+
+{% block content %}
+<!-- 广告横幅 -->
+<div class="container-fluid">
+    <div class="row">
+        <img class="img-responsive model-img" src="{% static 'img/science.jpg' %}" alt="科研基地">
+    </div>
+</div>
+<div class="container">
+    <!-- 主体标题 -->
+    <div class="model-details-title">
+        科研基地介绍
+    </div>
+    <!-- 主体内容 -->
+    <div class="model-details">
+        <p>
+            近二十年来,恒达致力打造“志存高远,一诺千钧”的企业文化,不断吸纳和培养人工智能高精尖人才,
+            逐步形成了一支技术过硬、乐于钻研、勇于创新的核心技术团队。目前,恒达科研基地分为计算机视觉、
+            机器人和视觉深度学习三个事业部,已为恒达在人脸识别、物联网平台搭建、机器人导航等高新算法
+            和模型研究领域打下了坚实基础。未来,恒达将继续坚定不移地投入科研,持续做好团队结构优化
+            和技术创新升级,力争实现引领全球人工智能发展的未来愿景。
+        </p>
+        <img class="img-responsive" style="max-width:700px;" src="{% static 'img/kyjd.jpg' %}">
+        <h3>研究方向</h3>
+        <h5>机器人导航:</h5>
+        <p>
+            多传感器路径规划、物联网一体化平台、远程人机交互、强化学习控制。
+        </p>
+        <h5>人体行为识别:</h5>
+        <p>
+            单用户行为识别、人体骨骼大数据分析、鲁棒特征抽取、多用户行为识别。
+        </p>
+        <h5>人脸属性识别:</h5>
+        <p>
+            人脸检测、属性分析、行人再识别。
+        </p>
+    </div>
+</div>
+{% endblock %}

+ 3 - 2
pythonweb/homeApp/views.py

@@ -1,5 +1,6 @@
 from django.shortcuts import render
 
 # Create your views here.
-def index():
-    return HttpResponse("首页")
+def home(request):
+    context = {'active_menu':'home'}
+    return render(request, 'home.html',context=context)

+ 9 - 0
pythonweb/partyApp/urls.py

@@ -0,0 +1,9 @@
+from django.urls import path
+from . import views
+
+app_name = 'partyApp'
+
+urlpatterns = [
+    path('party-work/', views.party_work, name='party_work'),
+    path('youth-work/', views.youth_work, name='youth_work'),
+]

+ 8 - 1
pythonweb/partyApp/views.py

@@ -1,3 +1,10 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 
-# Create your views here.
+
+def party_work(request):
+    return HttpResponse('党建工作')
+
+
+def youth_work(request):
+    return HttpResponse('团学工作')

+ 3 - 2
pythonweb/pythonweb/settings.py

@@ -9,7 +9,7 @@ https://docs.djangoproject.com/en/3.2/topics/settings/
 For the full list of settings and their values, see
 https://docs.djangoproject.com/en/3.2/ref/settings/
 """
-
+import os
 from pathlib import Path
 
 # Build paths inside the project like this: BASE_DIR / 'subdir'.
@@ -60,7 +60,7 @@ ROOT_URLCONF = 'pythonweb.urls'
 TEMPLATES = [
     {
         'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [],
+        'DIRS': [BASE_DIR / 'templates'],
         'APP_DIRS': True,
         'OPTIONS': {
             'context_processors': [
@@ -124,6 +124,7 @@ USE_TZ = True
 # https://docs.djangoproject.com/en/3.2/howto/static-files/
 
 STATIC_URL = '/static/'
+STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
 
 # Default primary key field type
 # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field

+ 10 - 2
pythonweb/pythonweb/urls.py

@@ -15,9 +15,17 @@ Including another URLconf
 """
 from django.contrib import admin
 from django.urls import path
-from homeApp.views import index
+from homeApp.views import home
+from scientificApp.views import index
+import scientificApp
+from django.conf.urls import include
 
 urlpatterns = [
     path('admin/', admin.site.urls),
-    path('',index,name='index'),
+    path('',home,name='home'),
+    path('aboutApp/', include('aboutApp.urls')),
+    path('teamApp/', include('teamApp.urls')),
+    path('scientific',scientificApp.views.index, name='scientific_index'),
+    path('partyApp/', include('partyApp.urls')),
+    path('admissionsAndEmploymentApp/', include('admissionsAndEmploymentApp.urls')),
 ]

+ 10 - 0
pythonweb/scientificApp/urls.py

@@ -0,0 +1,10 @@
+from django.urls import path
+from . import views
+
+app_name = 'scientificApp'
+
+urlpatterns = [
+    path('', views.index, name='index'),
+    # path('monitoring/', views.monitoring, name='monitoring'),
+    # path('face/', views.face, name='face'),
+]

+ 4 - 1
pythonweb/scientificApp/views.py

@@ -1,3 +1,6 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 
-# Create your views here.
+
+def index(request):
+    return HttpResponse('科研工作')

+ 6 - 3
pythonweb/static/css/style.css

@@ -1,7 +1,9 @@
 /*-------------头部------------*/
 /*头部边距*/
 .top {
-    margin-top: 10px;
+    width: 100%;
+    /*margin-top: 10px;*/
+    background: #fff url(https://www-new.gwng.edu.cn/_upload/tpl/02/2a/554/template554/images/head_bg2.jpg) no-repeat center top;
 }
 
 /*电话图标*/
@@ -42,7 +44,7 @@
     /* 去掉边框 */
     background-color: #e7e7e7;
     /* 设置导航栏背景色 */
-    margin-top: 30px;
+    /*margin-top: 30px;*/
     /* 设置导航栏的上边距 */
 }
 
@@ -161,7 +163,8 @@
 /*-------------尾部版权------------*/
 #patent-footer{
 	text-align:center;
-	background-color:#3A3A3A;
+    background: #1a5bc2;
+	/*background-color:#3A3A3A;*/
 }
 #patent-footer p{
 	margin-top:10px;

+ 14 - 0
pythonweb/teamApp/urls.py

@@ -0,0 +1,14 @@
+from django.urls import path
+from . import views
+
+app_name = 'teamApp'
+
+urlpatterns = [
+    path('academic-leader/', views.academic_leader, name='academic_leader'),
+    path('computer-science/', views.computer_science, name='computer_science'),
+    path('software-engineering/', views.software_engineering, name='software_engineering'),
+    path('digital-media/', views.digital_media, name='digital_media'),
+    path('iot-networking/', views.iot_networking, name='iot_networking'),
+    path('math-teaching/', views.math_teaching, name='math_teaching'),
+    path('party-work/', views.party_work, name='party_work'),
+]

+ 28 - 1
pythonweb/teamApp/views.py

@@ -1,3 +1,30 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 
-# Create your views here.
+
+def academic_leader(request):
+    return HttpResponse('学院学科建设带头人')
+
+
+def computer_science(request):
+    return HttpResponse('计算机系')
+
+
+def software_engineering(request):
+    return HttpResponse('软件工程系')
+
+
+def digital_media(request):
+    return HttpResponse('数字媒体技术系')
+
+
+def iot_networking(request):
+    return HttpResponse('物联网与网络工程系')
+
+
+def math_teaching(request):
+    return HttpResponse('数学教研室')
+
+
+def party_work(request):
+    return HttpResponse('党政学工队伍')

+ 50 - 57
pythonweb/templayes/base.html → pythonweb/templates/base.html

@@ -1,5 +1,5 @@
-{% load static %}
 <!DOCTYPE html>
+{% load static %}
 <html lang="zh-cn">
 
 <head>
@@ -19,17 +19,17 @@
         <div class="row">
             <div class="col-md-6">
                 <a>
-                    <img class="img-responsive" src="{% static 'img/logo.jpg' %}">
+                    <img class="img-responsive" src="https://www-new.gwng.edu.cn/_upload/site/00/21/33/logo.png">
                 </a>
             </div>
             <div class="col-md-3 hidden-xs">
                 <a class="phone ant">
-                    <span class="glyphicon glyphicon-phone"></span>电话:400 1111 0000 &nbsp; &nbsp;
+<!--                    <span class="glyphicon glyphicon-phone"></span>电话:020-22245913 22245632  &nbsp; &nbsp;-->
                 </a>
             </div>
             <div class="col-md-3 hidden-xs">
                 <a class="mail ant">
-                    <span class="glyphicon glyphicon-envelope"></span>邮箱:hengda@126.com
+<!--                    <span class="glyphicon glyphicon-envelope"></span>邮箱:jsj@gwng.edu-->
                 </a>
             </div>
         </div>
@@ -45,7 +45,7 @@
             </div>
             <div class="collapse navbar-collapse" id="bs-example">
                 <ul class="nav navbar-nav" style="width:100%;">
-                    <li class="nav-top">
+                    <li class="nav-top" id="home">
                         <a href="{% url 'home' %}">首页</a>
                     </li>
                     <li class="dropdown nav-top">
@@ -53,9 +53,9 @@
                             学院简介</a>
                         <ul class="dropdown-menu">
                             <li><a href="{% url 'aboutApp:survey' %}">学院概况</a></li>
-                            <li><a href="{% url 'aboutApp:honor' %}">领导分工</a></li>
-                            <li><a href="{% url 'aboutApp:honor' %}">机构设置</a></li>
-                            <li><a href="{% url 'aboutApp:honor' %}">专业介绍</a></li>
+                            <li><a href="{% url 'aboutApp:leader' %}">领导分工</a></li>
+                            <li><a href="{% url 'aboutApp:organization' %}">机构设置</a></li>
+                            <li><a href="{% url 'aboutApp:major' %}">专业介绍</a></li>
                         </ul>
                     </li>
 
@@ -63,50 +63,38 @@
                         <a href="#" class="dropdown-toggle on" data-toggle="dropdown">
                             教师队伍</a>
                         <ul class="dropdown-menu">
-                            <li><a href="{% url 'teamApp:company' %}">计算机系</a></li>
-                            <li><a href="{% url 'teamApp:industry' %}">软件工程系</a></li>
-                            <li><a href="{% url 'teamApp:notice' %}">教研工作室</a></li>
+                            <li><a href="{% url 'teamApp:academic_leader' %}">学院学科建设带头人</a></li>
+                            <li><a href="{% url 'teamApp:computer_science' %}">计算机系</a></li>
+                            <li><a href="{% url 'teamApp:software_engineering' %}">软件工程系</a></li>
+                            <li><a href="{% url 'teamApp:digital_media' %}">数字媒体技术系</a></li>
+                            <li><a href="{% url 'teamApp:iot_networking' %}">物联网与网络工程系</a></li>
+                            <li><a href="{% url 'teamApp:math_teaching' %}">数学教研室</a></li>
+                            <li><a href="{% url 'teamApp:party_work' %}">党政学工队伍</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 'productsApp:robot' %}">
-                                    家用机器人</a></li>
-                            <li><a href="{% url 'productsApp:monitoring' %}">
-                                    智能监控</a></li>
-                            <li><a href="{% url 'productsApp:face' %}">
-                                    人脸识别解决方案</a></li>
-                        </ul>
+                    <li class="nav-top">
+                        <a href="{% url 'scientific_index' %}">科研工作</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 'serviceApp:download' %}">
+                            <li><a href="{% url 'serviceApp:admissions' %}">
                                     招生信息</a></li>
-                            <li><a href="{% url 'serviceApp:platform' %}">
+                            <li><a href="{% url 'serviceApp:employment' %}">
                                     就业信息</a></li>
                         </ul>
                     </li>
-                    <li class="nav-top" id='science'>
-                        <a href="{% url 'scienceApp:science' %}">党建</a>
+                    <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' %}">
+                            <li><a href="{% url 'partyApp:party_work' %}">
                                     党建工作</a></li>
-                            <li><a href="{% url 'serviceApp:platform' %}">
+                            <li><a href="{% url 'partyApp:youth_work' %}">
                                     团学工作</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 'contactApp:contact' %}">欢迎咨询</a></li>
-                            <li><a href="{% url 'contactApp:recruit' %}">加入恒达</a></li>
-                        </ul>
-                    </li> -->
                 </ul>
             </div>
         </div>
@@ -121,42 +109,46 @@
         <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>
+                    <dt>学院信息</dt>
+                    <dd><a href="{% url 'aboutApp:survey' %}">学院概况</a></dd>
+                    <dd><a href="{% url 'aboutApp:leader' %}">领导分工</a></dd>
+                    <dd><a href="{% url 'aboutApp:organization' %}">机构设置</a></dd>
+                    <dd><a href="{% url 'aboutApp:major' %}">专业介绍</a></dd>
                 </dl>
             </div>
             <div class="col-md-2">
                 <dl>
-                    <dt>产品中心</dt>
-                    <dd><a href="{% url 'productsApp:robot' %}">家用机器人</a></dd>
-                    <dd><a href="{% url 'productsApp:monitoring' %}">智能监控</a></dd>
-                    <dd><a href="{% url 'productsApp:face' %}">人脸识别解决方案</a></dd>
+                    <dt>教师队伍</dt>
+                    <dd><a href="{% url 'teamApp:academic_leader' %}">学院学科建设带头人</a></dd>
+                    <dd><a href="{% url 'teamApp:computer_science' %}">计算机系</a></dd>
+                    <dd><a href="{% url 'teamApp:software_engineering' %}">软件工程系</a></dd>
                 </dl>
             </div>
             <div class="col-md-2">
                 <dl>
-                    <dt>服务支持</dt>
-                    <dd><a href="{% url 'serviceApp:download' %}">资料下载</a></dd>
-                    <dd><a href="{% url 'serviceApp:platform' %}">人脸识别开放平台</a></dd>
+                    <dt>科研工作</dt>
+                    <dd><a href="{% url 'scientific_index' %}">科研工作</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>
+                    <dt>党团工作</dt>
+                    <dd><a href="{% url 'partyApp:party_work' %}">党建工作</a></dd>
+                    <dd><a href="{% url 'partyApp:youth_work' %}">团学工作</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">400 111 2222</b></p>
+                <img class="qrimg" src="https://www-new.gwng.edu.cn/_upload/article/images/c1/0b/2571b0804ff181cccb13476961f1/b0d06d4d-52f2-4b3b-80b0-271166f4b9ee.jpg" alt="wx">
+                <p>院长办公室:<b style="font-size:20px">020-22245632</b></p>
+                <p>辅导员办公室:<b style="font-size:20px">020-22245905(普招)</b></p>
+                <p><b style="font-size:20px">020-22245162(专升本)</b></p>
+                <p>学院办公室:<b style="font-size:20px">020-22245913</b></p>
             </div>
         </div>
         <!-- 版权 -->
         <div class="row" id="patent-footer">
-            <p> © 2019 Python Web企业门户网站开发示例 版权所有 | 苏ICP备19006378号 </p>
+            <p> © 版权所属于 广东外语外贸大学南国商学院-计算机学院(黄略,李锐,朱启政,杨昊廷,毕熙) </p>
         </div>
     </div>
 
@@ -169,13 +161,14 @@
                 $(this).removeClass("open");
             });
         });
-    </script>
-    <script type="text/JavaScript">
         $('#{{active_menu}}').addClass("active");
     </script>
-    <script type="text/JavaScript">
-        $('#{{sub_menu}}').addClass("active");
-    </script>
+<!--    <script type="text/JavaScript">-->
+<!--        $('#{{active_menu}}').addClass("active");-->
+<!--    </script>-->
+<!--    <script type="text/JavaScript">-->
+<!--        $('#{{sub_menu}}').addClass("active");-->
+<!--    </script>-->
 </body>
 
 </html>

+ 87 - 2
readme.md

@@ -22,15 +22,100 @@
 
 4. 新增模块
 
-   `python manage.py startapp honeApp`
+   `python manage.py startapp homeApp`
 
 5. 配置新增模块 
 
+   ```python
+   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',#招生和就业
+   ]
+   ```
+
+   
+
 6. 创建依赖管理文件
 
    `pip freeze > requirements.txt`
 
-7. 7
+7. 创建static静态资源目录和templates模板目录
+
+   >编辑settings.py文件,配置静态资源加入django管理
+   >
+   >``
+   >
+   >配置模板的路径
+   >
+   >```python
+   >TEMPLATES = [
+   >    {
+   >        ...,
+   >        'DIRS': [BASE_DIR / 'templates'],
+   >    },
+   >]
+   >```
+   >
+   >配置静态资源
+   >
+   >```python
+   >STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
+   >```
+   >
+   >
+
+
+8. 路由配置
+
+   - 正向路由配置,编辑urls.py文件
+
+     ```python
+     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
+
+     ```python
+     from django.conf.urls import include
+     urlpatterns = [
+         ...,
+         path('aboutApp/', include('aboutApp.urls')),
+     ]
+     ```
+
+     > 在aboutApp中添加一个urls.py文件,并进行路由配置
+     >
+     > ```python
+     > from django.urls import path
+     > from . import views
+     > 
+     > app_name = 'aboutApp'
+     > 
+     > urlpatterns = [
+     >     path('survey/', views.survey, name='survey'),  # 学院概况
+     >     path('leader/', views.leader, name='leader'),     # 领导分工
+     > ]
+     > ```
+     >
+     > 
 
 ### 工作内容分工