2012-11-16 2 views
0

web.py 프레임 워크를 사용하여 데이터베이스의 모든 레코드를 표시하는 작은 웹 페이지를 작성하고 있습니다.python web.py에서 jquery를 사용하여 확인란을 선택/선택 취소하는 방법

다음은 내 코드

list_page.html 데이터베이스에서 결과 테이블의 형태로 나타납니다 위의 HTML 페이지에서 그래서

$def with (select_query) 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>List Page</title> 
</head> 
<body> 
<form method="POST" action="/retrieve"> 
<table border="1"> 
    <tr> 
    <td>Select</td><td>Column_two</td><td>Column_three</td><td>Column_four</td><td>Column_five</td> 
    </tr> 
    $for r in select_query: 
    <tr> 
    <td><p align = "center"><input type="checkbox" id="$r.id" value="" name="$r.id"/></p></td> 
    <td>$r.Listing_Name</td><td>$r.Address</td><td>$r.Pincode</td><td>$r.Phone</td> 
    </tr> 
</table> 
    <br/> 
    <p><button id="submit" name="select_unselect">Select All/Unselect All</button></p> 
    <p><button id="submit" name="submit">Retrieve</button></p> 
</form> 

입니다.

사실, 나는 파이썬에서 jquery로 체크 박스를 체크/체크하지 않는 것을 구현하려고한다. 다음은

는 개념은 웹 페이지 (위에 표시된 HTML)입니다

import web 
render = web.template.render('templates/') 
db = web.database(dbn='mysql', db='Browser_Date', user='root', pw='redhat') 
urls = ('/', 'Listpage',) 
app = web.application(urls, globals()) 

class Listpage: 

    def GET(self): 
     select_query = db.select('File_upload') 
     return render.list_page(select_query) 

    def POST(self): 
     i = web.input(groups = {}) 
     ids = i.keys() 
     ........ 
     ........ 
     web.header('Content-Type','text/csv') 
     web.header('Content-disposition', 'attachment; filename=csv_file.csv') 
     return csv_file.getvalue() 

if __name__ == "__main__": 
    web.internalerror = web.debugerror 
    app.run() 

코드 데이터베이스에서 레코드를 표시하며, 확인하여 기록의 선택에 따라 내 index.py입니다/선택 해제 그리고 retrieve 버튼을 클릭 한 후, csv 파일 그래서

지금 내가/체크 jQuery를 사용하여 한 번에 모든 체크 박스의 선택을 취소하려고 페이지에서 선택한 레코드를 생성 할 것이다, 그러나 시작하는 방법을 잘 모릅니다 어디 위의 html 코드에서 jquery 코드를 작성하려면 goog jquery에 이끌 렸지만 정말 혼란 스러웠습니다. 그래서 저는 그렇게 접근했습니다.

기본적으로 나는 웹 개발에있어 초보자이며 jquery를 구현/사용하지 않을 수 있습니다. 누구든지 위에서 언급 한 코드/html 파일의 확인란 기능을 선택/선택 취소하는 방법에 대해 알려 주시기 바랍니다. 그래서 코드를 더 쉽게 확장 할 수 있습니다.

답변

0

파이썬, web.py, html, javascript 및 jQuery가 혼란 스럽습니다.

강력하지만 처음에는 머리를 쓰려고 할 때 매우 혼란 스럽습니다. 하이브리드, 멀티 플랫폼 응용 프로그램의 관점에서 생각해보아야합니다. 적어도 세 가지 기술을 하나의 사용자 환경에 병합하고 있기 때문입니다.

web.py 서버 및 템플릿은 STATIC 콘텐츠를 웹 브라우저에 전달하는 것 이상을 수행하지 않습니다. 이것이 웹 서버가하는 일입니다. 템플릿 코드를 사용하면 서버 측의 파이썬에서 쿼리 문자열 인수 등을 기반으로 의사 결정을 내릴 수 있지만 궁극적으로는 코드 (html + javscript)을 다른 인터프리터 (브라우저)에 전달하는 것입니다. PHP, Ruby, ASP ...이 점에서 모두 동일합니다. 브라우저 용 페이지를 만듭니다.

요청이 배달되면 브라우저가 인계합니다. 사용자가 무언가를 클릭하면 해당 클릭을 처리하는 자바 스크립트 인터프리터가됩니다. 자바 스크립트 (또는 jquery)는 a) 사용자를 다른 페이지로 리디렉션하거나, b) 로컬에서 작업하거나 c) ajax를 통해 정보를 제출/수신 할 수 있습니다.

(jQuery를은 순수 자바 스크립트의 기발의 일부를 단순화하기 위해 단지 멋진 방법 ... 자바 스크립트입니다.)

그래서, 일반적인 워크 플로우 :

  • 사용자가 http://localhost/index
  • 웹 요청 .평은 온로드() 자바 스크립트
  • 사용자가 뭔가를 클릭 (페이지는 사용자 상호 작용을 기다리고, 지금은 유휴 상태), 자바 스크립트 함수가 무엇 평가를
  • 브라우저 홈 페이지 HTML을 그립니다) (렌더링을 통해 홈 페이지를 제공하며, 처리 클릭하고 요청하기로 결정 더 많은 데이터
  • 자바 스크립트를 생성하고 문제 XMLHttpRequest를 (또는 jQuery를 ... $ 아약스에서가())는
  • web.py가 요청을 처리의 그것으로/home_tab_2
  • 자바 스크립트이었다 가정 해 봅시다 페이지를 업데이트합니다 (element.innerHTML() 또는 jquery로 $(element).append() 또는 무엇이든)

이 글을 쓰면 정말 처음으로 아약스 응용 프로그램을 작성하는 데 도움이되기를 바랍니다.

관련 문제