基于django天气预报网站源码详情页


此处给出上一篇文章链接:
https://blog.csdn.net/qq_45723638/article/details/108339106

简单说两句

连了个有线网,惊讶地发现网站加载只需要10秒不到,关于我介绍文章中打开慢的问题突然变得简单了起来,只需要先用低清晰度图片代替再加载高清晰度图片就ok了

怎么说呢,感觉突然项目质量就上升了很多,有了上线的可能性

话不多说,直接给代码

因为django是文件夹不方便一个个展示代码,github国内现在访问又很慢我直接给网盘链接了:

链接:https://pan.baidu.com/s/1w7X-gedY5n9klYxshHkU4Q
提取码:h3ig

代码分析

仅仅给出全部代码当然是不行的,那么现在我就简略说一说我的代码

注释问题

因为爬虫和网站的构建我是分块同步进行的,爬虫基本是没有在这个文件里进行注释的,爬虫本身不太难,但没有爬虫基础是看不懂的,希望不要拘泥于爬虫的方法,以实现网站为主。

代码目录

代码目录
可以看到主要是三个文件夹:

  1. weather_django(创建django时自动生成的框架)
  2. templates(存放网页的文件夹)
  3. proj(django框架下创建的app,网站实现的主体)

外面的一些文件是会用到的一部分数据文件,因为放在根目录可以读取到(我放在具体文件夹即相对路径没有读取到)一般来说创建django时只会有一个mange.py,其中spider and wordcloud是一部分爬虫词云代码,不过多分析,下面我就从三个文件夹讲起。

weather_django

在这里插入图片描述这里用到的文件不多,分别在settings.py和urls.py中修改了一些地方

settings.py

在这里插入图片描述
在APPS中添加了proj

在这里插入图片描述
在最后添加了静态文件夹(据官方文档这是最简单的添加本地图片的方法)

urls.py

在这里插入图片描述
这里添加了路由

templates

在这里插入图片描述
这里有5个网页文件,在之前文章分析过,此处不过多分析

proj

在这里插入图片描述
此处的static文件夹是存放本地静态图片的,暂时我只用了词云图的本地图片,而接下来重点说urls.py和views.py

urls.py

此处是建立网站的路由,规定主页,城市页,导航页等。

给出图片:
在这里插入图片描述

views.py

此处是内容最多的方法页,可以从截图右边缩略栏看到内容很多,主要我将几乎所有方法都放入到这个文件了

在这里插入图片描述
重要的是与路由对应的几个函数,wait , home , city , nav,涉及参数的传递,其余的方法基本都是爬虫

在这里插入图片描述

结语

那么以上就是全内容了,咱在这求个赞(嘿嘿)。

  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
商品详情页是电商网站的重要页面之一,它展示了商品的详细信息,包括商品名称、价格、图片、描述、参数、评价等。在Django中,可以通过模型和视图来实现商品详情页。 1. 创建商品模型 首先,在models.py文件中创建商品模型,定义商品的各个属性,例如: ```python from django.db import models class Product(models.Model): name = models.CharField(max_length=200) description = models.TextField() price = models.DecimalField(max_digits=8, decimal_places=2) image = models.ImageField(upload_to='products/') category = models.ForeignKey('Category', on_delete=models.SET_NULL, null=True) def __str__(self): return self.name ``` 上述代码中,Product模型包含了商品的名称、描述、价格、图片和所属分类等属性。 2. 创建商品详情页视图 接下来,在views.py文件中创建商品详情页视图,可以通过id获取商品的详细信息,并渲染到模板中,例如: ```python from django.shortcuts import render, get_object_or_404 from .models import Product def product_detail(request, id): product = get_object_or_404(Product, id=id) context = {'product': product} return render(request, 'product_detail.html', context) ``` 上述代码中,product_detail视图通过id获取商品对象,然后将商品对象传递给模板,以渲染商品详情页。 3. 创建商品详情页模板 最后,在templates目录下创建商品详情页模板,例如product_detail.html,包含商品的各个属性,例如: ```html {% extends 'base.html' %} {% block content %} <div class="product-detail"> <img src="{{ product.image.url }}" alt="{{ product.name }}"> <h2>{{ product.name }}</h2> <p>{{ product.description }}</p> <p>Price: {{ product.price }}</p> <p>Category: {{ product.category }}</p> </div> {% endblock %} ``` 上述代码中,模板通过product对象渲染商品的各个属性,例如商品图片、名称、描述、价格和所属分类等。 4. 配置商品详情页URL 最后,在urls.py文件中配置商品详情页的URL,例如: ```python from django.urls import path from .views import product_detail urlpatterns = [ path('product/<int:id>/', product_detail, name='product_detail'), ] ``` 上述代码中,使用<int:id>定义了商品id参数,并将其传递给product_detail视图,以渲染商品详情页

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值