課程列表
{% block ........ %}
{% endblock %}#模版的繼承
對於分頁後,會對前端傳遞{all_courses:courses},創建courses=Paginator(後臺數據,每頁數據個數,request=request)
前端遍歷all_courses時得加上---.object_list
某一屬性是有choices=?
degree=models.CharField(verbose_name=u'難度',choices=(("cj","初級"),("zj","中級"),("gj","高級")),max_length=2)的話,在前端引用得.get_degree_display才能顯示“初級”而不是“cj”
----------------------------
課程詳情頁
b爲a的外鍵的話,可以通過 a.b.屬性 來獲取b的屬性
在models.py中突然添加新字段(有外鍵的)後默認值不能爲空,在類中給它添加null=True,blank=True
---------------------------
課程章節信息
類.object.get()#get返回一個數據
類.object.filter()#filter返回滿足條件的全部數據,返回數組
----------------------------
課程評論
首先在html中設置Ajax的jQuery
#添加評論
<script type="text/javascript">
//添加評論
$('#js-pl-submit').on('click', function(){
var comments = $("#js-pl-textarea").val()
if(comments == ""){
alert("評論不能爲空")
return
}
$.ajax({
cache: false,
type: "POST",
url:"{% url 'course:add_comment' %}",
data:{'course_id':{{ course.id }}, 'comments':comments},
async: true,
beforeSend:function(xhr, settings){
xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}");
},
success: function(data) {
if(data.status == 'fail'){
if(data.msg == '用戶未登錄'){
window.location.href="/login/";
}else{
alert(data.msg)
}
}else if(data.status == 'success'){
window.location.reload();
if not request.user.is_authenticated():
# 判斷用戶登陸狀態
json_dict = {'status': 'fail', 'msg': u'用戶未登陸'}
return HttpResponse(json.dumps(json_dict), content_type="application/json")
//刷新當前頁面. } }, }); }); </script>
然後在後臺
def post(self,request):
if not request.user.is_authenticated():
# 判斷用戶登陸狀態
json_dict = {'status': 'fail', 'msg': u'用戶未登陸'}
return HttpResponse(json.dumps(json_dict), content_type="application/json")
course_id=request.POST.get("course_id",0)
comments=request.POST.get("comments","")
if course_id>0 and comments:
#判斷哪門課以及相應評論,建立實例進行儲存CourseComments()
course_comments=CourseComments()
course=Course.objects.get(id=int(course_id))
course_comments.course=course
course_comments.comments=comments
course_comments.user=request.user
course_comments.save()
json_dict = {'status': 'success', 'msg': u'添加成功'}
return HttpResponse(json.dumps(json_dict), content_type="application/json")
else:
json_dict = {'status': 'success', 'msg': u'添加失敗'}
return HttpResponse(json.dumps(json_dict), content_type="application/json")