1.6個人中心新聞列表
阿新 • • 發佈:2020-11-19
效果如下(展示使用者所有釋出得新聞,新聞狀態,分頁
1、前端程式碼
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用者中心</title> 6 <link rel="stylesheet" type="text/css" href="../../static/news/css/reset.css"> 7 <link rel="stylesheet" type="text/css" href="../../static/news/css/jquery.pagination.css"> 8 <link rel="stylesheet" type="text/css" href="../../static/news/css/main.css"> 9 <script type="text/javascript" src="../../static/news/js/jquery-1.12.4.min.js"></script> 10 <script type="text/javascript" src="../../static/news/js/jquery.pagination.min.js"></script> 11 </head> 12 <body class="inframe_body"> 13 <div class="news_list"> 14 <h3>新聞列表</h3> 15 <ul class="article_list"> 16 {% for news in context.news_list %} 17 <li> 18 {% if news.status == 0 %}19 {# 稽核通過 #} 20 <a href="#">{{ news.title }}</a><em class="pass">已通過</em><span>{{ news.create_time }}</span> 21 {% elif news.status == 1 %} 22 {# 稽核中 #} 23 <a href="javascript:;">{{ news.title }}</a><em class="review">稽核中</em><span>{{ news.create_time }}</span> 24 {% else %} 25 {# 稽核不通過 #} 26 <a href="javascript:;">{{ news.title }}</a><em class="nopass">未通過</em><span>{{ news.create_time }}</span> 27 <b>未通過原因:{{ news.reason }}</b> 28 {% endif %} 29 </li> 30 {% endfor %} 31 </ul> 32 <div id="pagination" class="page"></div> 33 <script> 34 // 呼叫父頁面的方法改變選單指示 35 // window.parent.fnChangeMenu(2); 36 37 $(function(){ 38 $("#pagination").pagination({ 39 currentPage: {{ context.current_page }}, 40 totalPage: {{ context.total_page }}, 41 callback: function(current) { 42 window.location.href = '/user/user_news_list?p=' + current; 43 } 44 }); 45 }); 46 </script> 47 48 </div> 49 </body> 50 </html>
2、後臺程式碼
1 @user_blue.route("/user_news_list") 2 @user_login_data 3 def user_news_list(): 4 user = g.user 5 if not user: 6 return redirect(url_for('index.index')) 7 page = request.args.get("p",1) 8 try: 9 # 將接收來的引數強轉為int型別 10 page = int(page) 11 except Exception as e: 12 current_app.logger.error(e) 13 # 二次保障設定預設值為1 14 page = 1 15 #給變數賦值預設值 16 news_li = [] 17 current_page = 1 18 total_page = 1 19 try: 20 #資料庫查詢,分頁器 21 paginate = News.query.filter(News.user_id == user.id).paginate(page = page, per_page=2) 22 news_li = paginate.items 23 current_page = paginate.page 24 total_page = paginate.pages 25 except Exception as e: 26 current_app.logger.error(e) 27 return jsonify(errno=RET.DATAERR, errmsg="查詢失敗") 28 29 #傳遞上下文 30 context = { 31 "news_list":news_li, 32 "current_page":current_page, 33 "total_page":total_page, 34 } 35 #渲染頁面 36 return render_template("news/user_news_list.html",context = context)