首页>>后端>>Python->django类视图如何排序(django分组排序)

django类视图如何排序(django分组排序)

时间:2023-12-12 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django类视图如何排序的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

请问django如何将字符型字段按数值型排序,如‘12,123,1111,133’,排序后结果为12,123,133,1111,在线等

在template里无法排序。需要在view里做。

办法是这样。

tmps='12,123,1111,133'

tmps=",".join([str(c) for c in [int(c) for c in tmps.split(",")].sort()])

分开写是这样

tmps='12,123,1111,133'

str_list=tmps.split(",")

int_list=[int(c) for c in str_list]

int_list.sort()

str_list2=['%s'%c for c in int_list]

output_str=",".joint(str_list2)

django排序怎么将字符型字段按整型排序

搞这个问题搞了很久,终于自己给弄出来啦,虽然这个提问时间过了这么久了,不过以后说不定也会有人遇到同样的问题,一搜就搜到这里了,所以还是把自己的方法附上

本人用MySQL数据库,chart表中有个time字段,字符型,想让查询结果按照time字段的整型排序

list=Chart.objects.extra(select={'t':'time+0'})

list=list.extra(order_by=["t"])

相当于sql语句

SELECT *,time+0 AS t FROM chart ORDER BY t

问题完美解决

Django里面怎么实现数据库视图啊 就是虚拟表

正经回答:先在数据库中建立好视图,然后django中建立对应的model。表所对应的类下面再建立一个Meta类,大致如下

class ViewModel(models.Model):

    """这个model类对应你所建立好的视图"""

    class Meta(object):

        """同理,该方法可用于使用mysql中任何已有的表,不仅是视图"""

        db_table = 'your_view' #显式指定表名,也就是你建立的视图的名字

        managed = false #默认是ture,设成false django将不会执行建表和删表操作

    # 建立字段间的映射

    #  需要注意的是,必须设一个字段为主键

    #  不然django会自动创建一个id字段为主键,引发错误

百度知道越来越辣鸡了,全是答非所问的。

Python 语言Django 框架的简化视图

1 我们在用Django编程时,会发现,经常需要用到列表、详情、修改这些操作。这些操作 几乎可以满足数据编辑的大部分要求。那能不能像YII2脚手架功能一样直接提供一个通用的模板类,只需指定几个必要的参数,所有的功能自己去实现呢。

2 Python 语言Django 框架,刚好提供这样的功能, 它有很多叫法,如 类视图、通用视图、简化视图,都指的是它。我们可以把它看成 Django 框架的脚手架。

3 Django简化视图底层的本质是通过从URL传递过来的参数去数据库查询数据,加载一个模板,利用得到的数据渲染模板(按照路由、视图、模板、模型的路线图)。

4 以下是Django 框架提供的简化视图,可以直接拿来使用。

View ------------------- 所有类视图的基类

TemplateView --------------渲染一个template

RedirectView ----------------重定向类视图

通用显示视图Display view:

DetailView ---------------展示单个object

ListView ------------------展示多个object

通用编辑视图Edit view:

FormView -------------- 显示一个form表单

CreateView ------------ 创建一个对象

UpdateView ------------更新对象

DeleteView --------------删除对象

5 例,路由代码

path('', views.IndexView.as_view(), name='index'),

视图代码

class IndexView(generic.ListView):

template_name = 'polls/index.html'

context_object_name = 'latest_question_list'

def get_queryset(self):

return Question.objects.order_by('-pub_date')[:5]

6 小贴士 6-1通用视图实际上 是类视图的一种,Django类视图的完整架构还是很庞大的。笔者只是提纲挈领,有兴趣 可以试着搜索“使用Django通用视图的get_queryset, get_context_data和get_object等方法”深入学习。

6-2 笔者在看一些程序员在做PHP后台维护时,数据库经常被SQL注入,其实简单点使用addslashes()函数就能解决大部分问题。

9、Django视图(View与APIView)

django中编辑视图views.py有两种方式,一种是基于类的实现,另外一种是函数式的实现方式,两种方法都可以用。

REST框架提供了一个APIView类,它是Django View类的子类。

View是Django默认的视图基类,APIView是REST framework提供的所有视图的基类, 继承自Django的View,对Django中的View进行了拓展,具备了认证、授权、限流、不同请求数据的解析的功能。

a.统一使用Request对象.data属性去获取json格式的参数、form表单参数、FILES

b、使用Request对象.query_params来获取查询字符串参数

c、Django支持的参数获取方式,DRF都支持

a.对Django中的HttpResponse进行了拓展

b.实现了根据请求头中Accept参数来动态返回

c.默认情况下,如果不传Accept参数或者传参为application/json,那么会返回json格式的数据

d.如果Accept参数为text/html,那么会返回可浏览的api页面(html页面)

e.Response第一个参数为,经过序列化之后的数据(往往需要使用序列化器对象.data)

f.status指定响应状态码

先使用django自带的view,获取一个Card表里面的卡号信息:

models.py设计card表

views.py视图的编写

urls.py设置访问地址

REST framework的APIView继承了django的View类,先序列化Card类,这里的序列化用rest_framework里面的ModelSerializer

配置urls.py,设置访问地址

结语:以上就是首席CTO笔记为大家整理的关于django类视图如何排序的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django类视图如何排序的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/28129.html