日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

django模糊查詢及分頁(yè)操作實(shí)例

時(shí)間:2022-01-28 23:11:31 類型:python
字號(hào):    

views.py代碼:

title    = request.GET.get("title","")
sortid   = int(request.GET.get("sortid",0))
search = {}
search_parm = ""
if title :
     search["title__icontains"] = title
     search_parm +="&title="+title
if sortid :
   search_parm += "&sortid=" + str(sortid)
   sortpath = Sorts.objects.get(pk=sortid).sortpath
   search["sort__sortpath__icontains"] = sortpath
query = News.objects.filter(**search)

pageSize = int(request.GET.get("pageSize", 1))  # 默認(rèn)頁(yè)碼為2
currentPage = int(request.GET.get("currentPage", 1))  # 當(dāng)前頁(yè)默認(rèn)為第一頁(yè)

startPos = (currentPage - 1) * pageSize  #查詢開始位置
endPos   = currentPage * pageSize        #查詢結(jié)束位置
result = query[startPos:endPos]          #相當(dāng)于sql的limit操作
total  = query.count()

totalPages = int(total / pageSize)
if total % pageSize:
   totalPages = total // pageSize + 1
print("共有",totalPages)
loop_pages = range(1,totalPages+1)
#注意循環(huán)時(shí)不包含最大值

for index, row in enumerate(result) :
    setattr(result[index],"parSorts",SortAll.getParentName(row.sort.sortpath))

selectTree = SortAll.selectTree(20, "sortid", currentid=sortid, top=True )

return render(request,'zz/news/list1.html',locals())

HTML代碼:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static "/css/zz.css" %}">
</head>

<body>
    <table class="list">
        <tr>
            <td>
                <form action="?" method="get">
                    <input type="text" name="title" value="{{ title }}">
                    {{ selectTree|safe }}
                    <input type="submit" value="搜索">
                </form>
            </td>
        </tr>
    </table>
    <table class="list">
        <tr>
            <td colspan="7">
                <div class="page">
                    <ul>
                            {% if totalPages > 1 %}
                             <li><a href="?currentPage=1{{ search_parm }}">首頁(yè)</a></li>
                            {% endif %}
                            {% for i in loop_pages %}
                                <li><a href="?currentPage={{ i }}{{ search_parm }}">{{ i }}</a></li>
                            {% endfor %}
                            {% if currentPage < totalPages %}
                                <li><a href="?currentPage={{ totalPages }}{{ search_parm }}">尾頁(yè)</a></li>
                            {% endif %}
                    </ul>
                </div>
            </td>
        </tr>
        <tr>
            <td>id</td>
            <td>選擇</td>
            <td>標(biāo)題</td>
            <td>時(shí)間</td>
            <td>類別</td>
            <td>圖片</td>
            <td>操作</td>
        </tr>
        {% for row in result %}
            <tr>
                <td>{{ row.id }} </td>
                <td style="width:30px;">
                    <input type="checkbox" name="ids" value="{{ row.id }}">
                </td>
                <td  style="max-width: 220px;">{{ row.title }}</td>
                <td>{{ row.createtime | date:"m-d" }}</td>
                <td>{{ row.parSorts }}</td>
                <td>
                    {%if row.pic == "" or row.pic == null %}
                    無(wú)圖
                    {% else %}
                    <img src="{% static "up/"%}{{ row.pic }}" style="max-width: 120px;">
                    {% endif %}

                </td>
                <td>
                    <a href="/yt/news/edit?id={{ row.id }}" class="btn">修改</a>
                    <a href="/yt/news/del?id={{ row.id }}" class="btn danger" onclick="return confirm('確定要?jiǎng)h除嗎')">刪除</a>
                </td>
            </tr>
            {% empty %}
            <tr>
                <td colspan="8">
                    無(wú)數(shù)據(jù)
                </td>
            </tr>
        {% endfor %}
    </table>
</body>
</html>

效果如下:

5.jpg

<