[后端]前台我的提交页面 增强提交序号的显示,原来是显示真实id即随机的散列值,不好看,现在改成自然数序列,但需要结合javascript生成,且是相对值,因为数据库里没有这个字段,有点别扭了. 第二,添加了用户没有提交记录的反馈. 第三,本打算增加筛选功能,但因为URL难以统一作罢,只有在增加新的url才能较好的处理,下次再说拜

This commit is contained in:
esp 2015-08-22 13:45:24 +08:00
parent 78a135d916
commit 093ec3fc79
2 changed files with 21 additions and 6 deletions

View File

@ -117,7 +117,6 @@ def my_submission(request, submission_id):
{"submission": submission, "problem": problem, "info": info})
class SubmissionAdminAPIView(APIView):
def get(self, request):
problem_id = request.GET.get("problem_id", None)
@ -126,11 +125,13 @@ class SubmissionAdminAPIView(APIView):
submissions = Submission.objects.filter(problem_id=problem_id).order_by("-create_time")
return paginate(request, submissions, SubmissionSerializer)
@login_required
def my_submission_list_page(request, page=1):
if not page:
page = 1
submissions = Submission.objects.filter(user_id=request.user.id)
submissions = Submission.objects.filter(user_id=request.user.id). \
values("id", "result", "create_time", "accepted_answer_time", "language")
paginator = Paginator(submissions, 20)
try:
current_page = paginator.page(int(page))

View File

@ -10,7 +10,9 @@
<li role="presentation" class="active">
<a href="/submission/my_submissions/">我的提交</a></li>
</ul>
<br>
{% if submissions %}
<table class="table table-bordered">
<thead>
<tr class="" success>
@ -24,7 +26,8 @@
<tbody>
{% for item in submissions %}
<tr class="{{ item.result|translate_result_class }}">
<th scope="row"><a href="/my_submission/{{ item.id }}/">{{ item.id }}</a></th>
<th scope="row"><a href="/my_submission/{{ item.id }}/" id="id_{{ forloop.counter }}">{{ forloop.counter
}}</a></th>
<td>{{ item.create_time }}</td>
<td>{{ item.result|translate_result }}</td>
<td>
@ -42,6 +45,9 @@
</tbody>
</table>
{% else %}
<p>你还没有提交记录!</p>
{% endif %}
<nav>
<ul class="pager">
{% if previous_page %}
@ -57,4 +63,12 @@
</ul>
</nav>
</div>
<script>
for (var i = 1; true; i++) {
if (!document.getElementById("id_"+i)) break;
document.getElementById("id_"+i).innerHTML= ""+(i+{{page}}*20-20);
}
</script>
{% endblock %}