Django+xadmin打造在线教育平台(从0-1全过程手把手教程附加各种采坑笔记第8章)

本文是一篇从零开始的Django+xadmin在线教育平台搭建教程,详细讲解了如何利用模板引擎配置前端页面,包括org-detail-homepage、org-detail-course、org-detail-desc、org-detail-teachers、teacher-list和teacher-detail等模块,同时分享了实践过程中的踩坑笔记。
摘要由CSDN通过智能技术生成

前端的内容其实不难,就是套模板引擎,把跟base.html不同的
org-detail-homepage:

{% extends 'org_base.html' %}
{% block title %}机构首页{% endblock %}
{% block page_path %}机构首页{% endblock %}
{% block right_form %}
<div class="right companycenter layout grouping" >
		<div class="head">
			<h1>全部课程</h1>
			<a class="green fr more" href="org-detail-course.html">查看更多  >  </a>
		</div>
		<div class="brief group_list">
                {% for course in all_courses %}
                <div class="module1_5 box">
                    <a href="course-detail.html"><img width="214" src="{{ MEDIA_URL }}{{ course.image }}"/></a>
                    <div class="des">
                        <a href="course-detail.html"><h2>{{ course.name }}</h2></a>
                        <span class="fl">课时:<i class="key">{{ course.learn_times }}</i></span>
                        <span class="fr">参加人数:{{ course.students }}</span>
                    </div>
                    <div class="bottom">
                        <span class="fl">{{ course.course_org.name }}</span>
                         <span class="star fr  notlogin
                            " data-favid="13"  data-fav-type="4">
                            {{ course.fav_nums }}
                        </span>
                    </div>
                </div>
                {% endfor %}

		</div>
	</div>
<div class="right companycenter layout" >
    <div class="head">
        <h1>机构教师</h1>
        <a class="green fr more" href="org-detail-teachers.html">查看更多  >  </a>
    </div>
    {% for teacher in all_teachers %}
        <div class="diarys">
        <div class="module5 share company-diary-box" style="padding:10px 0;">
            <div class="left">
                <img class="pic" src="{{ MEDIA_URL }}{{ teacher.image }}"/>
                <p>昵称:{{ teacher.name }}</p>
            </div>
            <div class="right">
                <div class="top">
                    <div class="fl">
                        <a href=""><h1>java开发教程</h1></a>
                        <span>发表于:2015-10-12</span>
                    </div>
                </div>
                <div class="middle" style="border-bottom:0;">课程介绍</div>
            </div>
        </div>
    </div>
    {% endfor %}




</div>
<div class="right companycenter layout" >
    <div class="head">
        <h1>机构介绍</h1>
        <a class="green fr more" href="org-detail-desc.html">查看更多  >  </a>
    </div>
    <div class="cont">&nbsp; &nbsp; {{ course_org.desc }}<p>&nbsp; &nbsp;</p></div>
</div>
{% endblock %}

org-detail-course:

{% extends 'org_base.html' %}
{% block title %}机构课程列表页{% endblock %}
{% block page_path %}机构课程{% endblock %}
{% block right_form %}
<div class="right companycenter layout" >
		<div class="head">
			<h1>机构课程</h1>
		</div>
		<div class="brief group_list">
            {% for course in all_courses %}
            <div class="module1_5 box">
                    <a class="comp-img-box" href="course-detail.html">

                        <img width="214" height="195" src="{{ MEDIA_URL }}{{ course.image }}"/>
                    </a>
                    <div class="des">
                        <a href="course-detail.html"><h2>{{ course.name }}</h2></a>
                        <span class="fl">课时:<i class="key">{{ course.learn_times }}</i></span>
                        <span class="fr">学习人数:{{ course.students }}</span>
                    </div>
                    <div class="bottom">
                        <span class="fl">{{ course.course_org.name }}</span>
                         <span class="star fr  notlogin
                            " data-favid="13" data-fav-type="4">
                            {{ course.fav_nums }}
                        </span>
                    </div>
                </div>
            {% endfor %}




		</div>
			<div class="pageturn">
                <ul class="pagelist">
                    <li class="active"><a href="?page=1">1</a></li>
                </ul>
            </div>
	</div>
{% endblock %}


org-detail-desc:

{% extends 'org_base.html' %}
{% block title %}机构介绍{% endblock %}
{% block page_path %}机构介绍{% endblock %}
{% block right_form %}
<div class="right companycenter layout" >
        <div class="head">
            <h1>机构介绍</h1>
        </div>
        <div class="des">

        <div class="cont">&nbsp; &nbsp; {{ course_org.desc }}<p>&nbsp; &nbsp;</p></div>
        </div>
    </div>
{% endblock %}





org-detail-teachers:

{% extends 'org_base.html' %}
{% block title %}机构教师{% endblock %}
{% block page_path %}机构教师{% endblock %}
{% block right_form %}
<div class="right companycenter layout" >
        <div class="head">
            <h1>机构讲师</h1>
        </div>
        <div class="messagelist">
            <div class=" butler_list butler-fav-box">
            {%  for teacher in all_teacher %}
                 <dl class="des users">
                    <dt>
                        <a href="">
                        <img width="100" height="100" class="scrollLoading" data-url="{{ MEDIA_URL }}{{ teacher.image }}" src="{{ MEDIA_URL }}{{ teacher.image }}"/>
                        </a>
                    </dt>
                    <dd>
                        <h1>
                            <a href="">
                            {{ teacher.name }}<span class="key">已认证</span>
                            </a>
                        </h1>
                        <ul class="cont clearfix">
                            <li class="time">工作年限:<span>{{ teacher.work_years }}</span></li>
                            <li class="c7">课程数:<span>3</span></li>
                        </ul>
                    </dd>
                </dl>
                {% endfor %}





            </div>
        </div>
    </div>
{% endblock %}









teacher-list:

{% extends 'base.html' %}
{% block title %}课程讲师-慕学在线网{% endblock %}
{% load staticfiles %}
{% block custom_bread %}
<section>
        <div class="wp">
            <ul  class="crumbs">
                <li><a href="{% url 'index' %}">首页</a>></li>
                <li>课程讲师</li>
            </ul>
        </div>
    </section>
{% endblock %}

{% block contend %}
    <section>
	<div class="wp butler_list_box list">
	<div class='left'>
		<div class="butler_list layout">
			<div class="head">
				<ul class="fl tab_header">
					<li {% if sort == '' %}class="active"{% endif %}><a href="?sort=">全部</a> </li>
					<li {% if sort == 'hot' %}class="active"{% endif %}><a href="?sort=hot">人气 &#8595;</a></li>
				</ul>
                <div class="fr butler-num">共<span class="key">9</span>人&nbsp;&nbsp;&nbsp;</div>
			</div>
                {% for teacher in all_teachers.object_list %}
                    <dl class="des">
                            <dt>
                                <a href="{% url 'org:teacher_detail' teacher.id  %}">
                                    <div class="picpic">
                                        <img width="100" height="100" class="scrollLoading" src="{{ MEDIA_URL }}{{ teacher.image }}"/>
                                    </div>
                                </a>
                                <div class="btn">
                                    <div class="fr btn2 bdsharebuttonbox"
                                         data-text="授课教师-奥巴马-慕学在线"
                                         data-desc="我在#慕课网#发现了教师“奥巴马”,对学习中的小伙伴很有帮助,一起来看看吧。"
                                         data-comment="奥巴马金牌讲师,从业年限:5年"
                                         >
                                        <span class="fl">分享</span>
                                        <a href="#" class="bds_more" data-cmd="more"></a>
                                    </div>
                                </div>
                            </dt>
                            <dd>
                                <a href="{% url 'org:teacher_detail' teacher.id  %}">
                                    <h1>{{ teacher.name }}<span class="key picbig">金牌讲师</span></h1>
                                </a>
                                <ul class="cont">
                                    <li>工作年限:<span>{{ teacher.work_years }}</span></li>
                                    <li>工作职位:<span>{{ teacher.work_position }}</span></li>
                                    <li>就职公司:<span>{{ teacher.work_company }}&nbsp;</span></li>
                                    <li>年龄:<span>{{ teacher.age }}</span></li>
                                    <li>教学特点:<span>{{ teacher.points }}</span></li>
                                </ul>
                            </dd>
                            <a class="buy buyservice" href="/org/teacher/detail/1/"><br/>查看<br/>详情</a>
                        </dl>
                {% endfor %}




		</div>
		 <div class="pageturn">
            <ul class="pagelist">
                {% if all_teachers.has_previous %}
                                <li class="long"><a href="?{{ all_teachers.previous_page_number.querystring }}">上一页</a></li>
                            {% endif %}

                            {% for page in all_teachers.pages %}
                                {% if page %}
                                    {% ifequal page all_teachers.number %}
                                        <li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>
                                    {% else %}
                                        <li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li>
                                    {% endifequal %}
                                {% else %}
                                    <li class="none"><a href="">...</a></li>
                                {% endif %}
                            {% endfor %}
                            {% if all_teachers.has_next %}
                                <li class="long"><a href="?{{ all_teachers.next_page_number.querystring }}">下一页</a></li>
                            {% endif %}

            </ul>
        </div>
	</div>
	<div class="right layout">
		<div class="head">讲师排行榜</div>
            {% for hot_teacher in sorted_teacher %}
                  <dl class="des">
                        <span class="num fl">1</span>
                        <a href="{% url 'org:teacher_detail' hot_teacher.id %}">
                            <dt>
                                <img width="50" height="50" class="scrollLoading"  src="{{ MEDIA_URL }}{{ hot_teacher.image }}"/>
                            </dt>
                        </a>
                        <dd>
                            <a href="/diary/hk_detail/6/">
                                <h1 title="{{ hot_teacher.name }}">{{ hot_teacher.name }}</h1>
                            </a>
                            <p>工作年限:<span>{{ hot_teacher.work_years }}年</span></p>
                        </dd>
                    </dl>
            {% endfor %}



	</div>
    </div>
</section>

{% endblock %}



teacher-detail:

{% extends 'base.html' %}
{% block title %}讲师详情-慕学在线网{% endblock %}
{% load staticfiles %}
{% block custom_bread %}
<section>
        <div class="wp">
            <ul  class="crumbs">
                <li><a href="{% url 'index' %}">首页</a>></li>
                <li><a href="{% url 'org:teacher_list' %}">授课讲师</a>></li>
                <li>课程讲师</li>
            </ul>
        </div>
    </section>
{% endblock %}

{% block contend %}
    <section>
	<div class="wp butler-detail-box butler-diaryd-box clearfix">
        <div class="fl list">
            <div class="butler_detail_list clearfix">
                <div class="brief">
                    <dl class="des">
                        <dt>
                            <div class="picpic">
                                <img width="100" height="100" src="{{ MEDIA_URL }}{{ teacher.image }}"/>
                            </div>
                            <div class="btn">
                                <span class="fl btn1 collectionbtn" id="jsLeftBtn">
                                     {% if has_teacher_faved %}已收藏{% else %}收藏{% endif %}
                                </span>
                                <span class="fr btn2 shareBtn bdsharebuttonbox"
                                      data-text="授课教师-李老师-慕学网"
                                      data-desc="我在#慕课网#发现了"
                                      data-comment="李老师,工作年限:5年;学历:本科;所在公司:阿里巴巴&nbsp;;经典案例:django入门和深入;flask入门"
                                      data-url="/diary/hk_detail/10/">
                                    <span class="fl">分享</span>
                                    <a href="#" class="bds_more" data-cmd="more"></a>
                                </span>
                            </div>
                        </dt>
                        <dd>
                            <a href="/diary/hk_detail/10/">
                                <h1>{{ teacher.name }}<span class="key picbig">金牌讲师</span></h1>
                            </a>
                            <ul class="cont">
                                <li>工作年限:<span>{{ teacher.work_years }}</span></li>
                                <li>就职公司:<span>{{ teacher.work_company }}</span></li>
                                <li>工作职位:<span>{{ teacher.work_position }}&nbsp;</span></li>
                                <li>教学特点:<span>{{ teacher.points }}</span></li>
                            </ul>
                        </dd>
                    </dl>
                </div>
            </div>
            <div class="butler_detail_cont clearfix">
                <div class="left layout">
				<div class="head">
					<ul class="tab_header">
						<li class="active"><a href="/diary/hk_detail/10/">全部课程</a> </li>
					</ul>
				</div>
                    <div class="companycenter">
                        <div class="group_list brief">
                        {% for teacher_course in all_courses %}
                            <div class="module1_5 box">
                                <a href="{% url 'course:course_detail' teacher_course.id %}">
                                    <img width="214" height="190" class="scrollLoading" src="{{ MEDIA_URL }}{{ teacher_course.image }}"/>
                                </a>
                                <div class="des">
                                    <a href="{% url 'course:course_detail' teacher_course.id %}"><h2>{{ teacher_course.name }}</h2></a>
                                    <span class="fl">时长:<i class="key">{{ teacher_course.learn_times }}</i></span>
                                    <span class="fr">学习人数:{{ teacher_course.students }}</span>
                                </div>
                                <div class="bottom">
                                    <span class="fl">{{ teacher_course.course_org.name }}</span>
                                    <span class="star fr  notlogin" data-favid="15">{{ teacher_course.fav_nums }}</span>
                                </div>
                            </div>
                            {% endfor %}


                        </div>
                    </div>
                <!--<div class="pageturn">-->
                    <!--<ul class="pagelist">-->
                        <!--<li class="active"><a href="?page=1">1</a></li>-->
                    <!--</ul>-->
                <!--</div>-->
            </div>
            </div>
        </div>
        <div class="fr list">
             <div class="butler_detail_list">
                <div class="right butler-company-box">
                <div class="head">
                    <h1>{{ teacher.org.name }}</h1>
                    <p>知名高校,权威教学</p>
                </div>
                <div class="pic">
                    <a href="{% url 'org:org_home' teacher.org.id %}">
                        <img width="150" height="80" src="{{ MEDIA_URL }}{{ teacher.org.image }}"/>
                    </a>
                </div>
                <a href="{% url 'org:org_home' teacher.org.id %}">
                    <h2 class="center">{{ teacher.org.name }}</h2>
                </a>
                <p class="center tell">地址:{{ teacher.org.address }}</p>
                <a class="btn" id="jsRightBtn">{% if has_org_faved %}已收藏{% else %}收藏{% endif %}</a>
            </div>
            </div>
            <div class="butler_detail_cont">
                <div class="butler_list_box">
                    <div class="right layout">
                        <div class="head">讲师排行榜</div>
                        {% for hot_teacher in sorted_teacher %}
                        <dl class="des">
                            <span class="num fl">1</span>
                            <a href="{% url 'org:teacher_detail' hot_teacher.id %}">
                                <dt>
                                    <img width="50" height="50" class="scrollLoading" src="{{ MEDIA_URL }}{{ hot_teacher.image }}"/>
                                </dt>
                            </a>
                            <dd>
                                <a href="{% url 'org:teacher_detail' hot_teacher.id %}">
                                    <h1 title="{{ hot_teacher.name }}">{{ hot_teacher.name }}</h1>
                                </a>
                                <p>工作年限:<span>{{ hot_teacher.work_years }}年</span></p>
                            </dd>
                        </dl>
                        {% endfor %}
                    </div>
                </div>
            </div>
        </div>
	</div>
</section>

{% endblock %}

{% block custom_js %}
    <script type="text/javascript">
//收藏分享
function add_fav(current_elem, fav_id, fav_type){
    $.ajax({
        cache: false,
        type: "POST",
        url:"{% url "org:add_fav" %}",
        data:{'fav_id':fav_id, 'fav_type':fav_type},
        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'){
                current_elem.text(data.msg)
            }
        },
    });
}

$('#jsLeftBtn').on('click', function(){
    add_fav($(this), {{ teacher.id }}, 3);
});

$('#jsRightBtn').on('click', function(){
    add_fav($(this), {{ teacher.org.id }}, 2);
});
</script>
{% endblock %}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值