当前位置: 首页 > news >正文

联盟文明网站建设有新四川seo推广方案

联盟文明网站建设有新,四川seo推广方案,可以做内容的网站,广州公司注册代理File->new project 点击create, 等待一下即可 查看安装 Django 版本: 在 Pycharm 底部选择 Terminal 然后在里面输入:python -m django --version 启动项目: 在 Terminal 里面输入: python manage.py runserver 查看文件目…

File->new project

点击create, 等待一下即可

查看安装 Django 版本:

在 Pycharm 底部选择 Terminal 然后在里面输入:python -m django --version

启动项目:

在 Terminal 里面输入: python manage.py runserver

查看文件目录结构,这些目录和文件的用处如下图所示:

本文的项目容器是DevelopmentProject,项目名称是BroadcastMonitorReceiver

编写第一个视图

打开 BroadcastMonitorReceiver/views.py,把下面这些 Python 代码输入进去:

from django.http import HttpResponse
def index(request):return HttpResponse("Hello, world. You're at the polls index.")

如果想看见效果,我们需要将一个 URL 映射到它——这就是我们需要 URLconf 的原因了。 为了创建 URLconf,请在 BroadcastMonitorReceiver目录里新建一个 urls.py 文件。

在 BroadcastMonitorReceiver/urls.py 中,输入如下代码:

from django.urls import pathfrom . import viewsurlpatterns = [path('', views.index, name='index'),
]

下一步是要在根 URLconf 文件中指定我们创建的 BroadcastMonitorReceiver.urls 模块。在容器配置 DevelopmentProject/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:

from django.contrib import admin
from django.urls import include, pathurlpatterns = [path('DevelopmentProject/', include('DevelopmentProject.urls')),path('admin/', admin.site.urls),
]

数据库配置

例如你创建了一个数据库如下图所示:

需要将数据库的逻辑结构与Django的model对应起来,我们可以使用其反向生成模型的原理进行操作。

使用命令:python manage.py inspectdb

会生成如下代码:

class Tasktable(models.Model):t_id = models.IntegerField(primary_key=True)c_date = models.DateTimeField(blank=True, null=True)c_time = models.TimeField(blank=True, null=True)uid = models.CharField(max_length=30, blank=True, null=True)username = models.CharField(max_length=50, blank=True, null=True)c_squence = models.CharField(max_length=255, blank=True, null=True)bandwidth = models.IntegerField(blank=True, null=True)class Meta:managed = Falsedb_table = 'tasktable'class View(models.Model):v_id = models.CharField(primary_key=True, max_length=26)c_squence = models.CharField(max_length=255, blank=True, null=True)c_date = models.DateTimeField(blank=True, null=True)c_time = models.TimeField(blank=True, null=True)full_img_path = models.CharField(max_length=255, blank=True, null=True)fix_img_path = models.CharField(max_length=255, blank=True, null=True)rudio_img_path = models.CharField(max_length=255, blank=True, null=True)audio_path = models.CharField(max_length=255, blank=True, null=True)class Meta:managed = Falsedb_table = 'view'

这些概念可以通过一个 Python 类来描述。利用上面生成代码去编辑 DevelopmentProject/models.py 文件

接下来我们主要的任务是:使用Django架构,写一个web的网络页面,其中左边是一个从数据库获取数据的导航栏表格,右边是表格每行对应的图片(要求图片实时去访问数据库,更新页面图片),点击表格的某一行,会将右边显示的图片放大。

创建视图函数和模板

首先,我们可以使用Bootstrap来快速构建前端页面,具体可以在base.html中引入(对于Dgango的base模板不了解可以参考官网模板介绍)Bootstrap的CSS和JS文件,例如:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>{% block title %}{% endblock %}</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">{% block style %}{% endblock %}
</head>
<body><div class="container">{% block content %}{% endblock %}</div><div class="modal fade" id="itemDetailModal" tabindex="-1" role="dialog" aria-labelledby="itemDetailModalLabel" aria-hidden="true"><div class="modal-dialog" role="document"><div class="modal-content"></div></div></div><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>{% block script %}{% endblock %}
</body>
</html>

接下来,我们需要创建一个名为DevelopmentProject/index.html的模板,用于显示web页面,我们在content区域中设置左右两个区域的布局,以下是一个示例模板:

index.html

{% extends 'radiomonitor/base.html' %}
{% load static %}
{% block content %}
<h2>多信道广播检测</h2><div class="row"><div class="col-md-3"><table class="table table-hover"><thead><tr><th scope="col">序号</th><th scope="col">频率</th></tr></thead>
{#            显示数据#}<tbody>{% for item in items %}<tr data-id="{{ item.v_id }}"><td>{{ forloop.counter }}</td><td>{{ item.c_squence }}</td></tr>{% endfor %}</tbody></table></div><div class="col-md-9">{% for item in items %}<tr data-id="{{ item.v_id }}">{#      <td>{{ item.c_squence }}</td>#}<img src="{%  static "/1.png" %}" class="img-fluid mx-auto d-block"></tr>{% endfor %}
{#            <img src="" id="preview" class="img-fluid mx-auto d-block">#}</div></div>{#<table>#}
{#  <thead>#}
{#    <tr>#}
{#        <th>序号</th>#}
{#      <th>频率</th>#}
{#    </tr>#}
{#  </thead>#}
{#  <tbody>#}
{#    {% for item in items %}#}
{#    <tr data-id="{{ item.v_id }}">#}
{#        <td>{{ forloop.counter }}</td>#}
{#      <td>{{ item.c_squence }}</td>#}
{#    </tr>#}
{#    {% endfor %}#}
{#  </tbody>#}
{#</table>#}{#{% endblock %}#}
{##}
{#{% block right %}#}
{#    <tbody>#}
{#    {% for item in items %}#}
{#    <tr data-id="{{ item.v_id }}">#}
{#      <td>{{ item.c_squence }}</td>#}
{#    <img src="{%  static "/1.png" %}">#}
{#    </tr>#}
{#    {% endfor %}#}
{#  </tbody>#}{% endblock %}{% block script %}
<script>// 发送 Ajax 请求获取 item_detail 页面的内容并在弹窗中显示function showItemDetail(item_id) {$.ajax({url: '/BroadcastMonitorReceiver/' + item_id + '/',success: function(data) {$('#itemDetailModal .modal-content').html(data);$('#itemDetailModal').modal('show');}});}$(function() {// 点击行时显示相应的 item_detail 内容$('tbody tr').click(function() {var item_id = $(this).data('id');showItemDetail(item_id);});});
</script>
{% endblock %}

在这个页面中,左边是一个表格,使用Bootstrap的table类来定义,然后在tbody中使用Django模板语言的循环语句来生成表格数据。每一行的<tr>标签设置了一个data-id属性,用于保存对应的图片ID。 右边是一个<img>标签,用于显示图片。在页面加载完成后,通过jQuery来绑定表格行的click事件,点击时会将图片的src属性设置为对应图片的URL。

然后需要创建一个视图函数来显示web页面,该函数应该从数据库中获取数据,并将其传递给模板。假设我们的视图函数名为index,则可以在DevelopmentProject/views.py文件中定义该视图函数,如下所示:

def index(request):template = loader.get_template('radiomonitor/index.html')items = View.objects.all()image_path = os.path.join(settings.BASE_DIR, 'static', 'images', '1.png')context = {'items': items,}return HttpResponse(template.render(context, request))

在上面的视图函数中,我们首先从数据库中获取所有的View对象,然后将其存储在context字典中,并将该字典作为第三个参数传递给render()函数。render()函数使用DevelopmentProject/index.html模板来渲染页面,并将context字典传递给该模板。

现在,我们已经完成了使用Django实现这个web页面的所有步骤。最后,我们需要运行Django开发服务器来查看页面。可以使用以下命令启动开发服务器:

python manage.py runserver

显示的结果如下:

我们会发现图片的显示时一列,不太美观,希望把它弄成3xN这样子的排列。

这个可以使用forloop.counter|divisibleby:3方式实现,代码如如下:

<div class="image-grid">{% for item in items %}<img src="{%  static "/1.png" %}" class="img-fluid mx-auto d-block">{% if forloop.counter|divisibleby:3 and not forloop.last %}<div class="empty-container"></div>{% endif %}{% endfor %}</div>

添加css样式:

{% block style %}<style>.image-grid {display: flex;flex-wrap: wrap;justify-content: space-between;margin: -10px;}.image-container {width: calc(33.33% - 20px);margin: 10px;}.image-container img {width: 100%;}.empty-container {width: calc(100% - 20px);margin: 5px;}</style>
{% endblock %}

这样就达到了排列效果:

接下来我们希望去实时更新这些动态的图片,

http://www.zhongyajixie.com/news/65075.html

相关文章:

  • 易企互联网站建设国内真正的永久免费建站
  • 六安做网站seo网站营销网
  • 镇江网站建设推广seo 工具
  • 阳谷网站开发百度小说排行榜2021
  • 网站做投票重庆森林经典台词截图
  • 上海待遇好的十大外企seo网站排名优化公司哪家好
  • 洛阳做网站百度官方网址
  • 网站切换语言怎么做的网站如何快速推广
  • 网站开发任务分解创建网站的基本流程
  • 网站 app开发 财务做帐常用的网络推广的方法有哪些
  • 做网站banner百度推广400电话
  • 做网站都需要学什么腾讯广告官网
  • 做网站卖东西赚钱sem是什么电镜
  • 南昌做兼职的网站常州网站建设
  • wordpress经常无响应超级seo助手
  • 机械加工制造网seo如何提高网站排名
  • 高端电子商务网站建设百度搜索推广技巧
  • 查询建设资质的网站seo网站建设
  • 北京网站建设明细网络营销常用的工具
  • wap网站建设用什么工具廊坊百度关键词优化怎么做
  • 高端网站建设推广广告接单网站
  • 做django后台网站企业网站的网络营销功能
  • 福州做网站价格网络销售哪个平台最好
  • 网站建设公司格企业网站建设方案
  • 成都网站建设龙兵科技微信小程序
  • 蛋糕网站建设毕业论文佛山市seo推广联系方式
  • 桂林象鼻山成因网站seo好学吗
  • 成年做羞羞的视频网站space公众号seo排名软件
  • 中文博客网站模板如何写软文
  • 广告网站怎么设计制作我国网络营销现状分析