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

工伤做实的那个网站建网站多少钱一个月

工伤做实的那个网站,建网站多少钱一个月,怎样免费个人网站建设,天河网站建设平台五. CBV视图 Django植入了视图类这一功能#xff0c;该功能封装了视图开发常用的代码#xff0c;无须编写大量代码即可快速完成数据视图的开发#xff0c;这种以类的形式实现响应与请求处理称为CBV(Class Base Views)。 1. 数据显示视图 数据显示视图是将后台的数据展示…五. CBV视图 Django植入了视图类这一功能该功能封装了视图开发常用的代码无须编写大量代码即可快速完成数据视图的开发这种以类的形式实现响应与请求处理称为CBV(Class Base Views)。 1. 数据显示视图 数据显示视图是将后台的数据展示在网页上数据主要来自模型一共定义了4个视图类分别是RedirectView、TemplateView、ListView和DetailView ●RedirectView用于实现HTTP重定向默认情况下只定义GET请求的处理方法。 ●TemplateView是视图类的基础视图可将数据传递给HTML模板默认情况下只定义GET请求的处理方法。 ●ListView是在TemplateView的基础上将数据以列表显示通常将某个数据表的数据以列表表示。 ●DetailView是在TemplateView的基础上将数据详细显示通常获取数据表的单条数据。 重定向视图 RedirectView 视图类RedirectView用于实现HTTP重定向功能即网页跳转功能 下面代码演示 定义路由的时候若使用视图类turnTo处理HTTP请求则需要对视图类turnTo使用as_view()方法这是对视图类turnTo进行实例化处理 # index的urls.py from django.urls import path from .views import * urlpatterns [# 定义首页的路由path(, index, nameindex),path(turnTo, turnTo.as_view(), nameturnTo), ]# index的views.py from django.shortcuts import render,redirect,reverse from django.http import HttpResponse,Http404 from django.views.generic.base import RedirectViewdef index(request):return render(request,index.html)class turnTo(RedirectView):# 设置属性permanentFalse # 状态码为302url None # 重定向的路由地址pattern_name index:indexquery_string True#重写 get_redirect_urldef get_redirect_url(self, *args, **kwargs):print(This is get_redirect_url)return super().get_redirect_url(*args, **kwargs)# 重写getdef get(self,request,*args,**kwargs):print(request.META.get(HTTP_USER_AGENT))return super().get(request,*args,**kwargs)!DOCTYPE html html body h3Hello RedirectView/h3 a href{% url index:turnTo %}?k1Toturn/a/body /html基础视图 TemplateView 代码如下 # index的views.py from django.shortcuts import render,redirect,reverse from django.http import HttpResponse,Http404 from django.views.generic.base import TemplateViewclass index(TemplateView):template_name index.htmltemplate_engine Nonecontent_type Noneextra_context {title: This is GET}# 重新定义模板上下文的获取方式def get_context_data(self, **kwargs):context super().get_context_data(**kwargs)context[value] I am MyDjangoreturn context# 定义HTTP 的POST请求的处理方法# 参数 request 代表 HTTP 请求信息def post(self,request,*args,**kwargs):self.extra_context {title:This is POST}context self.get_context_data(**kwargs)return self.render_to_response(context)get_context_data()方法用于获取模板上下文内容模板上下文是将视图里的数据传递到模板文件再由模板引擎将数据转换成HTML网页数据。 自定义POST请求的处理方法当触发POST请求时将会重设属性extra_context的值并调用get_context_data()将属性extra_context重新写入从而实现动态改变模板上下文的数据内容 ●extra_context为模板文件的上下文模板变量设置变量值可将数据转换成网页数据展示在浏览器上。 ●get_context_data()继承并重写视图类TemplateView的类方法在变量context里新增数据value。 # index的urls.py from django.urls import path from .views import * urlpatterns [# 定义首页的路由path(, index.as_view(), nameindex),]!DOCTYPE html html body h3Hello,{{ title }}/h3 div{{ value }}/div brform action methodpost{% csrf_token %}input typesubmit valueSubmit /form/body /html列表视图ListView ListView该视图类是将数据表的数据以列表的形式显示常用于数据的查询和展示。 由于视图类ListView需要使用模型对象因此在MyDjango项目里定义PersonInfo模型在index的models.py中编写以下代码 # index的models.py from django.db import models class PersonInfo(models.Model):id models.AutoField(primary_keyTrue)name models.CharField(max_length20)age models.IntegerField()在数据库里生成相应的数据表 首先在Pycharm里面连接数据库 这里以SQL Server为例子 SQLServer配置教程 数据库连接比较麻烦 django连接sqlserver pip install mssql-django1.2 pip install pyodbc django-pyodbc-azure还要配置setting.py: 红色部分自己修改 在终端输入 # 根据models.py生成相关的.py文件该文件用于创建数据表 python manage.py makemigrations# 创建数据表 python manage.py migrate然后打开数据库记得刷新 成功 然后编辑index_personinfo: 当指令执行完成后Django会默认创建多个数据表其中数据表index_personinfo对应index的models.py中所定义的PersonInfo类其余的数据表都是Django内置的功能所生成的主要用于Admin站点、用户认证和Session会话等功能。 代码如下 # index的views.pyfrom django.views.generic import ListView from .models import PersonInfoclass index(ListView):# 设置模板文件template_name index.html# 设置模板外的数据extra_context {title:人员信息表}# 查询模型queryset PersonInfo.objects.all()# 每页展示一条数据paginate_by 1# 若不设置则上下文默认为personinfo_list# context_object_name personinfo!DOCTYPE html html headtitle{{ title }}/title /head body h3{{ title }}/h3 table border1{% for i in personinfo_list %}trth{{ i.name }}/thth{{ i.age }}/th/tr{% endfor %} /table br {% if is_paginated %} div classpagination span classpage-links{% if page_obj.has_previous %}a href/?page{{ page_obj.previous_page_number }}上一页/a{% endif %}{% if page_obj.has_next %}a href/?page{{ page_obj.next_page_number }}下一页/a{% endif %} br br span classpage-current第{{ page_obj.number }}页,共{{ page_obj.paginator.num_pages }}页。 /span/span/div{% endif %} /body /html详细视图DetailView 视图类DetailView的属性pk_url_kwarg和slug_url_kwarg用于确定模型的查询条件属性slug_field用于确定模型的查询字段属性query_pk_and_slug用于确定模型主键和其他字段的组合查询。 沿用之前的models,编写以下代码 # index的urls.py from django.urls import path from .views import * urlpatterns [# 定义首页的路由path(pk/age.html, index.as_view(), nameindex),]# index的views.pyfrom django.views.generic import DetailView from .models import PersonInfoclass index(DetailView):# 设置模板文件template_name index.html# 设置模板外的数据extra_context {title:人员信息表}# 设置模型的查询字段slug_field age# 设置路由的变量名,与属性slug_field 实现模型的查询功能slug_url_kwarg agepk_url_kwarg pk# 设置查询模型model PersonInfo# 属性queryset 可以做简单的查询操作queryset PersonInfo.objects.all()# 若不设置则模板上下文默认为personinfo# context_object_name personinfo# 是否将pk和slug作为查询条件query_pk_and_slug True #属性query_pk_and_slug用于确定模型主键和其他字段的组合查询!DOCTYPE html html headtitle{{ title }}/title /head body h3{{ title }}/h3 table border1trth{{ personinfo.name }}/thth{{ personinfo.age }}/th/tr /table br/body /html2. 数据操作视图 数据操作视图有4个视图类分别是FormView、CreateView、UpdateView和DeleteView ●FormView视图类使用内置的表单功能通过表单实现数据验证、响应输出等功能用于显示表单数据。 ●CreateView实现模型的数据新增功能通过内置的表单功能实现数据新增。 ●UpdateView实现模型的数据修改功能通过内置的表单功能实现数据修改。 ●DeleteView实现模型的数据删除功能通过内置的表单功能实现数据删除。 3. 日期筛选视图 日期筛选视图是根据模型里的某个日期字段进行数据筛选然后将符合结果的数据以一定的形式显示在网页上。简单来说就是在列表视图ListView或详细视图DetailView的基础上增加日期筛选所实现的视图类。 六. 模板 1. Django模板引擎 Django内置的模板引擎包含模板上下文亦可称为模板变量、标签和过滤器 模板上下文 以{{ variable }}表示variable是上下文的名称它支持Python所有的数据类型如字典、列表、元组、字符串、整型或实例化对象等 例如 # 假如variable1 字符串或整型 div{{ variable1 }}/div # 输出“div字符串或整型/div” # 假如variable2{name: 字典或实例化对象} div{{ variable2.name }}/div # 输出“div字典或实例化对象/div” # 假如variable3 [元组或列表] div{{ variable3.0 }}/div # 输出“div元组或列表/div”如果视图没有为模板上下文传递数据或者模板上下文的某个属性、索引下标不存在Django就会将其设为空值 自定义标签 标签是对模板上下文进行控制输出它是以{% tag%}表示的其中tag是标签的名称Django内置了许多模板标签比如{% if %}判断标签、{% for %}循环标签或{% url %}路由标签 例如 # for标签支持嵌套myList可为列表、元组或某个对象 # item可自定义命名代表当前循环的数据对象 # {% endfor %}是循环区域终止符代表这区域的代码由标签for输出 {% for item in myList %} {{ item }} {% endfor %} # if标签支持嵌套 # 判断条件符与上下文之间使用空格隔开否则程序会抛出异常 # {% endif %}与{% endfor %}的作用是相同的 {% if name Lily %} {{ name }} {% elif name Lucy %} {{ name }} {% else %} {{ name }} {% endif %} # url标签 # 生成不带变量的URL地址 a href{% url index %}首页/a # 生成带变量的URL地址 a href{% url page 1 %}第1页/a # with标签与Python的with语法的功能相同 # totalnumber无须空格隔开否则抛出异常 {% with totalnumber %} {{ total }} {% endwith %} # load标签导入静态文件标签库staticfiles # staticfiles来自settings.py的INSTALLED_APPS {% load staticfiles %} # static标签来自静态文件标签库staticfiles {% static css/index.css %}for标签的模板说明 {% for name in name_list %} {% if forloop.counter 1 %} span这是第一次循环/span {% elif forloop.last %} span这是最后一次循环/span {% else %} span本次循环次数为{{forloop.counter }}/span {% endif %} {% endfor %}
http://www.hkea.cn/news/14344802/

相关文章:

  • 北京专业网站制作大概费用wordpress 搜索提示
  • 网站托管目的是什么承德网站建设怎么做
  • 学习网站开发心得百度推广app
  • 网站上做烟花效果怎样做推广是免费的
  • 南昌建设局网站查询塔吊证怎么查网页设计与制作期末考试试题
  • 做网站要钱嘛seo初级入门教程
  • 用dw做的网页如何上传到网站WordPress 微盘
  • 注册免费的网站高端网站开发环境
  • 长泰县建设局网站厦门海绵城市建设官方网站
  • 高端网络建站seo网站优化推广怎么做
  • 吉林智能网站建设找哪家wordpress破解插件
  • 广东省建设工程安全协会网站保密管理咨询公司
  • 服装公司网站网页设计上海网站制作建设怎么样
  • 广东自考网站建设管理东莞快速优化排名
  • 网页版微信传输助手怎么退出上海优化seo公司
  • 网站解决访问量超载做衬衣的网站
  • 本地集团网站建设做百度推广需要什么条件
  • 苏州专业做网站公司电话网站建设之婚礼摄影网站设计
  • 西安网站建设中心浙江华企网站做的咋样
  • 教人做衣服的网站公司网站开发费用兴田德润在哪儿
  • 微信网站页面设计yyf做的搞笑视频网站
  • 如何做微信电子书下载网站百度网址大全手机浏览器
  • 网站建设公司网络服务网站建设费用详细表
  • python做的网站哪些上海搬家公司收费价目表2021
  • 做外贸网哪些网站免费国内网站备案流程
  • 网站建设可行性报告模板怎么网络推广自己业务
  • 做网站找合作伙伴绵阳网站建设培训
  • 长春建筑网站无代码网站开发平台
  • 北京燕郊网站建设做外单网站亚马逊
  • 做付费推广是网站好还是单页面好数商云官网