このプロジェクトは、javascriptを書かれた完全な160本のラインを形成し、書き込み後の判定処理のすべての種類は、長くて退屈であると言うことができるが、それでもジャンプテーブルによるデータを取得した後に選択する解決できないHTMLページとして始まりましたページの更新処理後(質問)
javascipt + AJAXジャンゴ後の代わりに、ページング+提出し、問題解決
以下は、関連するコードDjangoのページ付けプロセスであります
Djangoのバックエンドのコード:
allprojects = ' 所有项目' サーバー = ' 0.0.0.0 ' DEF get_data_by_project(モデル、ユーザ名、プロジェクト): もしプロジェクト== allprojects: データ = model.objects.filter(俳優= ユーザー名) 他: データ = model.objects.filter (Q(プロジェクト=プロジェクト)&Q(俳優= ユーザー名)) 、戻りデータならばデータ他はなし デフ(モデル、ユーザ名、サーバー)get_data_or_createません: データ = model.objects.filter(俳優= ユーザー名) #空为データ如果を、就新增一条数据 IF ないデータ: model.objects.get_or_create(yoursqlinfo、サーバ = サーバー) データ = model.objects.filter(俳優= ユーザー名) を返すデータ (LOGIN_URL @login_required = ' /ログイン/ ' ) DEF MyHTML(要求): ユーザ名 =リクエスト.session.get(「ユーザ」) IF `request.GET``: #遠位対応するエントリを選択し、データベースからフェッチされ、対応するデータ ・プロジェクト= request.GET.get(「chooseproject 」) データ =get_data_by_project(のTestTable、ユーザ名、プロジェクト) 他: #ページへの初めて のプロジェクト= allprojects データ = get_or_create_data(のTestTable、ユーザ名、サーバ) #Djangoのページャ、10ページのデータ ページネータ=ページネータ(データ、10 ) ページ = request.GET.get(' ページ'、1。 ) currentPageに = INT(ページ) の試行: データ = paginator.page(ページ) を除く:PageNotAnInteger データ = paginator.page(1。 ) を除くEmptyPage: データ= paginator.page(paginator.num_pages) リターンレンダリング(要求、' myhtml.html '、{ ' ユーザ名':ユーザ名、' データ':データ、' プロジェクト':プロジェクト})
htmlページのコード
<! - 必要のchooseproject選択されたプリセット値、ヘッダの処理- > < スクリプトタイプ= "テキスト/ JavaScriptを" > window.onload = 関数(){ $(' #chooseproject ' ).val(' {プロジェクト}} { " ); } </ スクリプト> <! - 選択した項目- > < 形成方法を= "GET" ID = "chooseform" > < SELECT クラスは= "カスタム-SELECT" ID = "chooseproject"名前=「chooseproject」スタイル= "幅:120ピクセル;フロート:左;パディング:0 15ピクセルと、高さ:30px" > < オプション>所有项目</ オプション> < オプション>项目一</ オプション> < オプション>项目二</ オプション> </ 選択> </ フォーム> <! - 分页器- > < divのスタイル= "フロート:右;マージン右:150ピクセル;" > {%ない場合data.has_previous%} < スパン> < A >スパン> &NBSP; | {%他%} < スパン> < HREF = "chooseproject = {{プロジェクト}}&ページ= 1?" >最初</ A > </ スパン> &NBSP。| {%のENDIFの%} {%ならdata.has_previous%} < スパン> < HREF = "?chooseproject = {{プロジェクト}}&ページ= {{data.previous_page_number}}" >前</ A > </ スパン> &NBSP ; | {%他%} < スパン> > &NBSP; | {%ENDIF%} {%ならdata.has_next%} < スパンID = "NEXTPAGE" > < HREF = "?chooseproject = {{プロジェクト}}&ページ= {{data.next_page_number}}" >次に</ A > </ スパン> &NBSP; | {%他%} < スパン> < A >次に</ A > </ スパン> &NBSP。| {%ENDIF%} {%ない場合data.has_next%} < スパン> < A > > </ スパン> &NBSP; | {%他%} < スパン> < のhref = "chooseproject = {{プロジェクト}}&ページ= {{data.paginator.num_pages}}?" >最後の</ A > </ スパン> &NBSP; | {%ENDIF%} &NBSP。ページ&NBSP; < スパン> < A > {{data.number}} </ A > </ スパン> / < スパン> < A > {{data.paginator。 スパン> </ divの> <! - プロセスに送信された値選択chooseproject、体を提出してください- > < スクリプトタイプ= "テキスト/ JavaScriptを" > $(' #chooseproject ' ).changeを(関数(){ $ (' #chooseform ' ).submit(); }); </ スクリプト>
< HREF = "?chooseproject = {{プロジェクト}}&ページ= XXX" >
彼は、取得するには、対応するリクエストを送信するクリックを表し、
上記、ページャはジャンゴであります