學習筆記第七天

------------------------------

課程列表

{% 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")













發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章