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

详细教---用Django封装写好的模型

        本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。

第一步:代码准备

热搜词条搜集代码:

import requests
from lxml import etreeurl = "https://tophub.today/n/KqndgxeLl9"
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}res = requests.get(url = url,headers=headers,
)# print(res.status_code)html = etree.HTML(res.text)
trs=html.xpath('/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr')def getfirsttext(list):try:return list[0].strip()except:return ""# file=open("微博热搜top50.txt",mode="w",encoding="utf-8")
for tr in trs:id = getfirsttext(tr.xpath('./td[1]/text()'))title=getfirsttext(tr.xpath('./td[2]/a/text()'))play=getfirsttext(tr.xpath('./td[3]/text()'))url=getfirsttext(tr.xpath('./td[2]/a/@href'))print(id,title,play,url)
#     file.write(str(id)+","+title+","+str(play))
# file.close()

第二步:创建Django项目

在你选择存放项目的文件夹中,在命令行终端中执行以下命令来创建一个新的 Django 项目,名为myproject:

django-admin startproject myproject

第三步:配置项目

        1、创建一个应用程序 myapp。

python manage.py startapp myapp

        这将在项目目录下创建一个名为 myapp 的新应用程序,其中包含应用程序的基本目录结构。

        

        2、接下来,创建一个 Django 视图,用来处理请求并将数据呈现在网页上。在你的应用程序中的 views.py 文件中编写如下代码:

        

from django.shortcuts import render
import requests
from lxml import etreedef show_hot_topics(request):url = "https://tophub.today/n/KqndgxeLl9"headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}res = requests.get(url=url, headers=headers)html = etree.HTML(res.text)trs = html.xpath('/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr')hot_topics = []for tr in trs:id = getfirsttext(tr.xpath('./td[1]/text()'))title = getfirsttext(tr.xpath('./td[2]/a/text()'))play = getfirsttext(tr.xpath('./td[3]/text()'))url = getfirsttext(tr.xpath('./td[2]/a/@href'))hot_topics.append({'id': id, 'title': title, 'play': play, 'url': url})return render(request, 'hot_topics.html', {'hot_topics': hot_topics})def getfirsttext(list):try:return list[0].strip()except:return ""

        3、创建一个模板文件,用来呈现数据。在你的应用程序中创建一个名为 templates 的文件夹,并在其中创建一个名为 hot_topics.html 的文件

     

<!-- 在 myapp/templates/hot_topics.html 文件中 -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>热门话题</title>
</head>
<body><h1>热门话题</h1><ul>{% for topic in hot_topics %}<li><a href="{{ topic.url }}">{{ topic.title }}</a> - 播放量: {{ topic.play }}</li>{% endfor %}</ul>
</body>
</html>

        4、配置 URL 路由,使得当用户访问特定的 URL 时能够触发 show_hot_topics 视图。在你的应用程序中的 urls.py 文件中编写如下代码:

       

from django.urls import path
from .views import show_hot_topicsurlpatterns = [path('hot-topics/', show_hot_topics, name='hot_topics'),
]

        5、在myproject下的setting.py,设置模板路径

# settings.pyTEMPLATES = [{...'DIRS': [BASE_DIR / 'myapp' / 'templates'], # 设置模板文件路径...}
]

        6、在myproject下的urls.py,添加URL配置

        path('api/', include('myapp.urls')),            myapp.urls就是指自己的模块文件

'api/'的话,需要http://127.0.0.1:8000/api/hot-topics/    这样去访问。

如果‘’的话,则直接http://127.0.0.1:8000/hot-topics/

# myproject/urls.pyfrom django.urls import path, include
from django.contrib import adminurlpatterns = [path('admin/', admin.site.urls),path('api/', include('myapp.urls')),  # 包含应用程序的 URL 配置
]

第四步:启动开发服务器

进入刚刚创建的 myproject 目录,并执行以下命令以启动开发服务器:

cd myproject
python manage.py runserver

输入网址http://127.0.0.1:8000/api/hot-topics/

注意,这个url格式有加密,所以访问不了很正常

相关文章:

详细教---用Django封装写好的模型

本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步&#xff1a;代码准备 热搜词条搜集代码&#xff1a; import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…...

设计模式 抽象工厂

01.人类接口 public interface Human { //首先定义什么是人类//人是愉快的&#xff0c;会笑的&#xff0c;本来是想用smile表示&#xff0c;想了一下laugh更合适&#xff0c;好长时间没有大笑了&#xff1b; public void laugh(); //人类还会哭&#xff0c;代表痛苦 public v…...

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求&#xff1f;二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求&#xff1f; OPTIONS 请求方式是 HTTP 协议中的一种&#xff0c;主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…...

游戏反云手机检测方案

游戏风险环境&#xff0c;是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有&#xff1a;云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限&#xff0c;当游戏处于这些风险环境下&#xff0c…...

HarmonyOS NEXT应用开发之动态路由

介绍 本示例将介绍如何使用动态路由跳转到模块中的页面&#xff0c;以及如何使用动态import的方式加载模块 使用说明 通过动态import的方式&#xff0c;在需要进入页面时加载对应的模块。配置动态路由&#xff0c;通过WrapBuilder接口&#xff0c;动态创建页面并跳转。动态i…...

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…...

【NLP笔记】Transformer

文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接&#xff1a; Attention Is All You Need 参考文章&#xff1a; 【NLP】《Attention Is All You Need》的阅读笔记 一…...

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer&#xff08;网格渲染器&#xff09;Materials&#xff08;材质&#xff09;Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes&#xff08;探针&#xff09;Ray Tracing&#xff08;光线追踪&#xff09;Additi…...

每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…...

性能优化(CPU优化技术)-NEON指令详解

原文来自ARM SIMD 指令集&#xff1a;NEON 简介 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xf…...

服务器硬件基础知识和云服务器的选购技巧

概述 服务器硬件基础知识涵盖了构成服务器的关键硬件组件和技术&#xff0c;这些组件和技术对于服务器的性能、稳定性和可用性起着至关重要的作用。其中包括中央处理器&#xff08;CPU&#xff09;作为服务器的计算引擎&#xff0c;内存&#xff08;RAM&#xff09;用于数据临…...

深度学习PyTorch 之 transformer-中文多分类

transformer的原理部分在前面基本已经介绍完了&#xff0c;接下来就是代码部分&#xff0c;因为transformer可以做的任务有很多&#xff0c;文本的分类、时序预测、NER、文本生成、翻译等&#xff0c;其相关代码也会有些不同&#xff0c;所以会分别进行介绍 但是对于不同的任务…...

STC 51单片机烧录程序遇到一直检测单片机的问题

准备工作 一&#xff0c;需要一个USB-TTL的下载器 &#xff0c;并安装好对应的驱动程序 二、对应的下载软件&#xff0c;stc软件需要官方的软件&#xff08;最好是最新的&#xff0c;个人遇到旧的下载软件出现问题&#xff09; 几种出现一直检测的原因 下载软件图标&#xf…...

后端系统开发之——接口参数校验

今天难得双更&#xff0c;大家点个关注捧个场 原文地址&#xff1a;后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容&#xff1a; 前言 在上一篇文章中提到了接口的开发&#xff0c;虽然是完成了&#xff0c;但还是缺少一些细节——传入参数的校验。 即用户…...

IDEA 配置阿里规范检测

IDEA中安装插件 配置代码风格检查规范 使用代码风格检测 在代码类中&#xff0c;右键 然后会给出一些不符合规范的修改建议&#xff1a; 保存代码时自动格式化代码 安装插件&#xff1a; 配置插件&#xff1a;...

数据仓库系列总结

一、数据仓库架构 1、数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 数据仓库通常包含多个来源的数据&#xff0c;这些数据按照主题进行组织和存储&#x…...

gitlab runner没有内网的访问权限应该怎么解决

如果你的GitLab Runner没有内网访问权限&#xff0c;但你需要访问内部资源&#xff08;如私有仓库或其他服务&#xff09;&#xff0c;你可以考虑以下几种方法&#xff1a; VPN 或 SSH 隧道&#xff1a; 在允许的情况下&#xff0c;通过VPN或SSH隧道连接到内部网络。这将允许Gi…...

el-tree 设置默认展开指定层级

el-tree默认关闭所有选项&#xff0c;但是有添加或者编辑删除的情况下&#xff0c;需要刷新接口&#xff0c;此时会又要关闭所有选项&#xff1b; 需求&#xff1a;在编辑时、添加、删除 需要将该内容默认展开 <el-tree :default-expanded-keys"expandedkeys":da…...

python便民超市管理系统flask-django-nodejs-php

随着人们生活节奏的加快&#xff0c;以前传统的购物方式发生了巨大的改变&#xff0c;以前一个超市要想经营好自己的门店&#xff0c;每天都要忙着记账出账&#xff0c;尤其是出库入库统计&#xff0c;如果忙中出乱&#xff0c;可能导致今天所有的营业流水&#xff0c;要重新换…...

HarmonyOS — BusinessError 不能被 JSON.stringify转换

在鸿蒙中BusinessError 继承于Error&#xff0c;而在JavaScript&#xff08;以及TypeScript&#xff0c;因为它是JavaScript的超集&#xff09;中&#xff0c;Error 对象包含一些不能被 JSON.stringify 直接序列化的属性。JSON.stringify 方法会将一个JavaScript对象或者值转换…...

Qwen3-32B私有部署实操:对接Prometheus+Grafana监控GPU利用率与API QPS指标

Qwen3-32B私有部署实操&#xff1a;对接PrometheusGrafana监控GPU利用率与API QPS指标 1. 环境准备与镜像部署 1.1 硬件与系统要求 本教程基于RTX 4090D 24GB显存显卡优化配置&#xff0c;以下是部署前需要确认的环境要求&#xff1a; GPU配置&#xff1a;NVIDIA RTX 4090D…...

TIM+PWM输出+输入捕获测 频率+占空比(HAL库)

一&#xff1a;PWM输出&#xff08;TIM2_CH1&#xff09;HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);二&#xff1a;输入捕获测&#xff08;TIM1 CH1CH2&#xff09;三&#xff1a;开启CH1和CH2的中断四&#xff1a;初始化中断HAL_TIM_IC_Start_IT(&htim1,TIM_CHANNEL_1…...

超大规模智算集群关键技术及工程落地研究报告

摘要&#xff1a;本报告系统分析超大规模智算集群的核心技术、工程落地路径与产业趋势&#xff0c;为行业从业者与投资者提供核心指引。作为AI大模型与数字经济的核心算力底座&#xff0c;其以算存网协同、高密度部署、全栈工程化技术为核心&#xff0c;破解互联效率、调度优化…...

2026功率预测生死局:MKAN多尺度网络如何将光伏预测误差斩落马下?

当考核规则趋严&#xff0c;传统AI模型集体失灵&#xff0c;一种名为MKAN的新型网络正在改写游戏规则。2026年的春天&#xff0c;对于新能源电站的运营者而言&#xff0c;注定不太平。今年以来&#xff0c;多个省份陆续更新了新能源并网运行管理细则&#xff0c;日内预测偏差考…...

[C语言基础 关键字] const static volatile的作用

嵌入式软件开发高频面试题 文章目录一、关键字const二、关键字static1. 静态局部变量2. 静态全局变量或函数三、关键字volatile一、关键字const 声明一个不可修改的变量&#xff0c;即常量 const将变量声明为“只读”&#xff0c;初始化后不能再通过该变量名修改其值。 int …...

Mapus企业级应用场景:从团队协作到商业决策支持的完整指南

Mapus企业级应用场景&#xff1a;从团队协作到商业决策支持的完整指南 【免费下载链接】mapus A map tool with real-time collaboration &#x1f5fa;️ 项目地址: https://gitcode.com/gh_mirrors/ma/mapus Mapus是一款开源的实时协作地图工具&#xff0c;专为团队协…...

终极ShopXO秒杀功能优化指南:从0到1打造高并发促销系统

终极ShopXO秒杀功能优化指南&#xff1a;从0到1打造高并发促销系统 【免费下载链接】ShopXO开源商城 &#x1f525;&#x1f525;&#x1f525;ShopXO企业级免费开源商城系统&#xff0c;可视化DIY拖拽装修、包含PC、H5、多端小程序(微信支付宝百度头条&抖音QQ快手)、APP、…...

保姆级教程:在NumPy实现的MLP中加入BatchNorm和Dropout(附完整代码)

从零实现NumPy版MLP&#xff1a;集成BatchNorm与Dropout的实战指南 如果你已经能用NumPy实现基础的多层感知机&#xff08;MLP&#xff09;&#xff0c;却苦于模型在MNIST等数据集上表现不稳定、容易过拟合&#xff0c;那么Batch Normalization&#xff08;批归一化&#xff09…...

AIGlasses_for_navigation显存优化:FP16量化部署让4GB显存稳定运行

AIGlasses_for_navigation显存优化&#xff1a;FP16量化部署让4GB显存稳定运行 1. 项目背景与挑战 AIGlasses_for_navigation是一个基于YOLO分割模型的视频目标分割系统&#xff0c;专门为AI智能盲人眼镜导航系统设计。这个系统能够实时检测和分割图片视频中的盲道和人行横道…...

ThreeJS纹理优化:如何正确设置magFilter和minFilter避免贴图闪烁

ThreeJS纹理优化实战&#xff1a;magFilter与minFilter的深度解析与性能平衡 在ThreeJS开发中&#xff0c;纹理质量直接影响着3D场景的最终呈现效果。许多开发者都遇到过这样的困扰&#xff1a;当镜头拉远时&#xff0c;原本精致的贴图突然出现闪烁、摩尔纹或模糊不清的问题。这…...