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

任务23:创建天气信息大屏Django项目

任务描述

知识点

  • Django

重  点

  • Django创建项目
  • Django视图函数
  • Django路由
  • Django静态文件
  • Django渲染模板

内  容

  • 使用PyCharm创建大屏项目
  • 渲染大屏主页

任务指导

1. 使用PyCharm创建大屏项目。

  • 创建weather项目
  • 配置虚拟环境
  • 创建china_weather应用
  • 添加静态文件(相应的css、js、img静态文件和index.html模板文件已在资料中提供)
  • 网站settings.py配置

2. 渲染大屏主页

  • 创建视图函数
  • 添加路由

任务实现

1. 创建Django项目

1)创建项目

通过Anaconda自带的Prompt窗口切换到C盘,然后新建一个名为weather的django项目,代码如下:

django-admin startproject weather

2)配置虚拟环境

通过PyCharm打开该weather项目,在PyCharm中选择文件,设置,然后选择项目解释器,点击添加解释器,如下:

完成后,可以看到,目录中增加了venv文件夹,即为新创建的虚拟环境。需要继续安装环境所需要的库,主要需要添加Numpy、Pandas、Django、PyMySQL、SQLAlchemy(建议使用清华镜像),在PyCharm中选择文件,设置,然后选择项目解释器,点击添加解释器,如下:

根据以上步骤继续完成Pandas、Django、PyMySQL、SQLAlchemy库的安装,并按照下图所要求的版本进行安装,完成后,虚拟环境中便添加了这些库,如下图:

特别注意:为防止后期部署时库版本不兼容出现,一定要按照下面的版本进行安装。

3)创建china_weather应用

然后在PyCharm的终端创建china_weather的应用,执行以下命令:

Django-admin startapp china_weather

4)新建目录,添加静态文件。

在weather项目目录下,新建static和templates目录,分别用来存放静态文件和模板。在static目录中新建css、img和js文件目录,分别用来存放相应的静态文件。目录结构如下:

下载资料文件,解压后,将资料中的js、css和img文件夹里的文件分别对应放置到项目的js、css和img文件目录中,将index.html、地图对照模板.html和词云对照模板.html放到templates文件目录中,如下:

5)网站配置

打开settings.py文件,添加引入os模块:

import os

为了使创建的应用生效,找到INSTALLED_APPS变量,将应用程序china_weather添加到INSTALLED_APPS列表,如下图:

为了使模板生效,找到TEMPLATES,在‘DIRS’中添加如下代码:

os.path.join(BASE_DIR,'templates')

为了使静态文件生效,找到STATIC_URL,在下面添加如下代码:

STATIC_ROOT = os.path.join(BASE_DIR, STATIC_URL)
STATICFILES_DIRS = (# os.path.join(BASE_DIR, STATIC_URL),('css',os.path.join(STATIC_ROOT,'css').replace('\\','/') ),('js',os.path.join(STATIC_ROOT,'js').replace('\\','/') ),('img',os.path.join(STATIC_ROOT,'img').replace('\\','/') ),
)

完成后,保存setting.py文件

2. 渲染大屏主页

打开views.py,创建视图函数,用来登录主页,代码如下:

from django.shortcuts import HttpResponse,render,redirect
import pandas as pd
import numpy as np
from django.utils.safestring import mark_safe
from sqlalchemy import create_engine,textdef login(request):return render(request,'index.html')

备注:引入numpy、pandas库为了后面读取和处理数据使用;引入mark_safe为了django从view向template完整、原生的传递HTML字符串(django默认不渲染此HTML),防止这段字符串里面有恶意攻击的代码;引入create_engine,text是为了后面从MySQL数据库读取数据。

保存views.py文件,然后打开urls.py,配置主页的路由,先引入视图模块:

from china_weather import views

在urlpatterns中添加路由,如下:

path('',views.login),

保存urls.py文件

修改主页模板内容

打开index.html文件,在<!DOCTYPE html>前加上{% load static %},用来引入静态文件,这样在后面引入模板、js文件、img等时可以方便的获取static文件路径,如下图:

在<head></head>部分引入js文件

		<script src="{% static 'js/wordcount.min.js' %}"></script><script src="{% static 'js/d3.min.js' %}"></script>

修改主页模板(index.html)中title文本和内容,正确配置css、js、img的引入路径(注意,css样式的引用以及img等一些路径要注意修改):

将body部分的主标题、引入的css样式和js文件做修改,如下:

将body部分当中的标题做修改,如下:

保存所有文件后,在终端输入以下代码:

python manage.py runserver

打开Chrome浏览器,地址栏输入http://127.0.0.1:8000/,页面展示如下:

相关文章:

  • 【火山引擎 大模型批量推理数据教程---详细讲解一篇过!】
  • 文言文停词库 | 古文停词库 | 624个简体停词 |文言文python分词库-thulac
  • OS10.【Linux】yum命令
  • PCB制作入门
  • 财管-0-战略和战略管理
  • 最大子数组和问题详解
  • nc 命令示例
  • Python训练第四十一天
  • LeRobot ACT——LeRobot对ALOHA ACT策略的封装:含源码解析与真机部署(效果比肩ACT原论文)
  • 上位机知识篇---直接无线数据通信
  • Broker、Proxy、Agent的区别
  • 哈尔滨工业大学提出ADSUNet—红外暗弱小目标邻帧检测新框架
  • Parametric Retrieval Augmented Generation
  • 每日八股文6.1
  • 6v6-导航收录:2025年网站自动引流终极方案 - 提升SEO排名新策略
  • win11回收站中出现:查看回收站中是否有以下项: WPS云盘回收站
  • springboot-响应接收与ioc容器控制反转、Di依赖注入
  • Cursor 中三个选项 Agent 、 Ask 和 Manual 含义
  • 2025年家用电梯品牌推荐榜单:聚焦品质与创新,探寻理想垂直出行方案
  • 【js逆向】信息公示平台搜索滑块逆向
  • 如何将网站和域名绑定域名/网络营销手段有哪四种
  • 长沙网站搭建/信息流优化师工作内容
  • 石家庄网站制作哪家好/上海企业优化
  • 阿里巴巴做网站难吗/个人如何做百度推广
  • 做的网站在ie会乱码/北大青鸟
  • 做网站系统开发的意义/企业网页设计与推广