django企业门户网站系统项目(五)

接着上一章的内容,我们继续来完善系统,我们接下去的是“公司简介”模块。

在这一模块中我们分为两个页面:企业概况和荣誉资质。

我们在页面的侧边栏可以选择那一页的内容。

一、企业概况

在templates中新建文件夹aboutApp,用于存放公司简介的页面代码,在文件夹下新建honor.html和survey.html页面

在survey.html页面中,我们写上下面的代码:

{% 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/about.jpg' %}">
    </div>
</div>
<!-- 主体内容 -->
<div class="container">
    <div class="row row-3">
        <!-- 侧边导航栏 -->
        <div class="col-md-3">
            <div class="model-title">
                公司简介
            </div>
            <div class="model-list">
                <ul class="list-group">
                    <li class="list-group-item" id="survey">
                        <a href="{% url 'aboutApp:survey' %}">企业概况</a>
                    </li>
                    <li class="list-group-item" id="honor">
                        <a href="{% url 'aboutApp:honor' %}">荣誉资质</a>
                    </li>
                </ul>
            </div>
        </div>
        <!-- 说明文字和图片 -->
        <div class="col-md-9">
            <div class="model-details-title">
                企业概况
            </div>
            <div class="model-details">
                <div class="row">
                    <img class="img-responsive" src="{% static 'img/aboutCompany.jpg' %}">
                </div>
                <p>
                    恒达科技有限公司,位于科技园内,致力于人脸识别、
                    行为识别、机器人视觉核心算法研究和产品应用开发,以社会公共安全领域为主要应用方向,
                    提供极速、准确和防伪装的人脸识别产品,以及人工智能一体化整体解决方案。主营产品:
                    家用机器人、智能监控、基于人脸和行为识别应用方向的定制开发等服务。

                    恒达科技研发团队来自于国家级研究试验室,该团队为全球最早一批从事人脸识别研究机构之一,
                    研发团队成员早期主要从事人脸识别和行为识别研究。自2019年发布第一款人脸识别加密核验产品
                    以来,恒达研发团队进入自主人脸识别实践应用探索阶段。鉴于人脸识别技术逐渐走入工业和民用
                    应用领域市场,研发团队于2012年成立恒达科技有限公司,正式步入企业市场化运作轨道。
                    自研发团队成立之始,历经10余年的研究和实践沉淀,最后以恒达科技公司亮相工业和民
                    用应用领域市场,恒达团队经历了近20年的栉风沐雨和砥砺前行。目前,恒达智能监控、
                    人脸识别技术的应用和服务涵盖了工业和民用领域。
                </p>
            </div>
        </div>
    </div>
</div>
{% endblock %}

修改base.html文件的这一部分

                <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>

在aboutApp文件中的url.py文件中添加访问页面的路由信息。

from django.urls import path

from aboutApp import views

app_name = 'aboutApp'
urlpatterns = [
    path('survey/', views.survey, name='survey'),  # 访问企业概况
    path('honor/', views.honor, name='honor'),   # 访问荣誉资质页面


]

在style.css中继续添加样式代码:

/*公司简介*/
/*-------------主体------------*/
/* 主题标题 */
.model-details-title{
	padding:15px 0px;
	font-size:18px;
	border-bottom:1px #005197 solid; /* 底部添加蓝色边框 */
	color:#005197;
	margin-bottom:10px;
	margin-top:10px;
}
/* 文字段落 */
.model-details p{
	line-height:30px;
	text-indent:2em;
	text-align:justify;
	text-justify:inter-ideograph;
}
/* 主体图像 */
.model-details img{
	margin:0px auto;
}

/* 侧边导航栏 */
.row-3{
	margin-top:30px; /* 设置顶部边距 */
}

/*侧边导航栏标题样式*/
.model-title {
	text-align: center;
	color: #fff;
	font-size: 22px;
	padding: 15px 0px;
	background: #005197;
	margin-top: 25px;
}
/*侧边导航栏列表项样式*/
.model-list li{
	text-align:center;
	background-color:#f6f6f6;
	font-size:16px;
}
/*侧边导航栏列表项链接样式*/
.model-list li a{
	color:#545353;
}
/*侧边导航栏列表项链接激活样式*/
.model-list li a:hover{
	text-decoration:none;
	color:#005197;
}

/*侧边导航栏激活样式*/
.model-list li.active{
	text-align:center;
	background-color:#f6f6f6;
	font-size:16px;
	border-color: #ddd;
}
/*侧边导航栏激活状态下鼠标移过时样式*/
.model-list li.active:hover{
	text-align:center;
	background-color:#f6f6f6;
	font-size:16px;
	border-color: #ddd;
}

/*侧边导航栏激活状态时链接样式*/
.model-list li.active a {
    color: #005197;
}

在aboutApp/views.py中添加,其中sub_menu为标记当前访问了哪一个页面并且设置颜色为蓝色。


def survey(request):
    return render(request, 'aboutApp/survey.html', {'active_menu': 'about', 'sub_menu': 'survey'})

在base.html的页尾中继续添加代码,使sub_menu和active_menu被标记

<script type="text/JavaScript">
    $('#{{active_menu}}').addClass("active");
</script>
<script type="text/JavaScript">
    $('#{{sub_menu}}').addClass("active");
</script>

如图所示:

此时,访问在浏览器中输入http://localhost:8000/aboutApp/survey/   就可以访问到页面了。效果如下:

接下去我们就要来写我们的荣誉资质页面了,这里我们要求本机上要安装mysql数据库,或者其它的数据库,我用的是mysql数据库。

二、荣誉资质页面

2.1 创建数据库

首先,我们就要安装好mysql数据库并确定mysql是启动的。再次,我们要创建一个数据库用来存放项目的内容。

用cmd打开电脑的终端,并且进入mysql中。

在终端中输入

mysql -u root -p

然后输入密码,就可以进入mysql了,如图所示。 

接下来,我们来创建一个数据库,输入

create database hengda;

回车,我们会看到OK字样,证明创建成功。

2.2 对数据库进行配置

来到项目的目录下的hengda/settings.py文件,找到下面代码并进行配置

# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases

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

2.3 django的models.py文件

找到aboutApp/models.py,在文件中写上如下代码:
 

from django.db import models


# Create your models here.

class Award(models.Model):
    # 荣誉
    description = models.TextField(max_length=500, blank=True, null=True)
    # 图片地址
    photo = models.ImageField(upload_to='Award/', blank=True)

    class Meta:
        verbose_name = verbose_name_plural = '荣誉资质'   # 在管理后台看到的表名
        db_table = 'Award'   # 在数据库中看到的表名

在模型中,我们用到了文件的上传,所以我们要为存放设置路径,因此,在hengda/settings.py的最后面添加如下代码,存储路径就会到项目的media/Award文件夹中。

# 对图片的路径进行存储
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(MEDIA_URL, "media/")

接下来我们进行数据的迁移:

python manage.py makemigrations

python manage.py migrate

到这里,可能会报错,我们再hengda/__init__.py中添加并下载爆红的库包就可以了。

import pymysql
pymysql.install_as_MySQLdb()

我们的数据就迁移成功了。

2.4 添加后台管理

这里,我们启用django自带的后台管理,是有点low,所以我们不用。我们用xadmin后台管理,美观又大方。

具体配置安装可以看我的另一篇博客django3.0 + python 3.8 + xadmin后台更改

这里我们要将所有的admin.py改为adminx.py(重点)。

安装完成之后,我们再项目的终端,如图这里:

输入 python manage.py createsuperuser  然后输入用户名密码邮箱

去浏览器中登录后台管理,输入http://localhost:8000/admin/

就可以看到后台页面了,能进来就是成功了,我这里是添加了应用了,所以跟你的不一样。

将我们的模型注册到后台。

到aboutApp/adminx.py中,我们写下

from django.contrib import admin

# Register your models here.
import xadmin
from aboutApp.models import Award


class AwardAdmin(object):
    """xadmin后台注册"""
    list_display = ['id', 'description', 'photo']
    fields = ['description', 'photo']


xadmin.site.register(Award, AwardAdmin)

这样我们再后台就可以访问到了,标题中文之类的,在我的之前博客中有讲到,就是上面的那个链接。

好了,到这里后台已经完成了。

2.5 荣誉资质

到aboutApp/views.py中我们继续添加下面代码:


# 荣誉资质
def honor(request):
    awards = Award.objects.all()
    context = {
        'awards': awards,
        'active_menu': 'about',
        'sub_menu': 'honor'
    }
    return render(request, 'aboutApp/honor.html', context)

添加页面代码,到templates/aboutApp/honor.html中

{% 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/about.jpg' %}">
    </div>
</div>
<!-- 主体内容 -->
<div class="container">
    <div class="row row-3">
        <!-- 侧边导航栏 -->
        <div class="col-md-3">
            <div class="model-title">
                公司简介
            </div>
            <div class="model-list">
                <ul class="list-group">
                    <li class="list-group-item" id="survey">
                        <a href="{% url 'aboutApp:survey' %}">企业概况</a>
                    </li>
                    <li class="list-group-item" id="honor">
                        <a href="{% url 'aboutApp:honor' %}">荣誉资质</a>
                    </li>
                </ul>
            </div>
        </div>
        <!-- 说明文字和图片 -->
        <div class="col-md-9">
            <div class="model-details-title">
                荣誉资质
            </div>
            <div class="row">
                {% for award in awards %}
                <div class="col-sm-6 col-md-4">
                    <div class="thumbnail">
                        <img src="{{award.photo.url}}">
                        <div class="caption">
                            <p>{{award.description}}</p>
                        </div>
                    </div>
                </div>
                {% endfor %}
            </div>
        </div>
    </div>
</div>
{% endblock %}

访问路由:http://localhost:8000/aboutApp/honor/

我们就可以看到页面了

这一张就完成了。

上一章:django企业门户网站系统项目(四)

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python Django 是一种流行的Web开发框架,它使用Python语言编写。它提供了很多强大的功能和工具,使开发人员能够更轻松地构建高效、可扩展、安全的Web应用程序。 使用Python Django,我们可以快速构建一个功能完备的网站或Web应用程序。它提供了一个强大的模型-视图-控制器(MVC)架构,帮助我们将应用程序的逻辑和用户界面进行分离,使得代码更加清晰且易于维护。 在Django 中,我们可以定义模型来表示应用程序中的数据结构。通过定义数据库模式和字段属性,Django 可以自动地创建和更新数据库表。这使得我们可以轻松地进行数据库操作,如插入、更新和查询数据。 另外,Django 还提供了一个简洁且强大的模板语言,用于生成用户界面。我们可以创建模板来定义页面的结构和样式,并使用模板语言来动态生成页面的内容。这使得我们能够更好地与前端工程师协作,实现良好的用户体验。 Django 中还集成了一个强大的管理后台,用于管理网站的后台数据。通过定义管理界面,我们可以轻松地进行数据的增删改查,而无需编写额外的代码。 此外,Django 还提供了很多有用的功能和扩展,如用户认证系统、表单处理、国际化支持等等。以及它还有很多社区贡献的第三方库和插件可供选择,使得我们能够更加高效地开发和扩展我们的应用程序。 总的来说,Python Django 是一个功能强大的Web开发框架,它提供了很多方便的工具和功能,使得开发人员能够更轻松地构建高质量的Web应用程序。无论是小型的个人项目还是大型的企业应用,Django 都是一个非常好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花开花落与云卷云舒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值