配置路由
首先在course和user中新建一个urls文件,然后在总路由下添加apps的路由:
1)总路由:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('course.urls')),
path('',include('user.urls'))
]
2)course的路由:
from django.urls import path,re_path
from . import views
urlpatterns = [
path('',views.index_handler,name='course_index'),
re_path('course/(.+)',views.course_handler,name='course_course'),
re_path('video/(.+)',views.video_handler,name='course_video'),
re_path('videoStream/(.+)',views.videoStream_handler,name='course_videoStream')
]
3)user的路由设置:
from django.urls import path,re_path
from . import views
urlpatterns = [
path('',views.index_handler,name='user_index'),
path('course',views.course_handler,name='user_course'),
path('shoppingCart',views.shoppingCart_handler,name='user_shoppingCart'),
path('login',views.login_handler,name='user_login'),
path('register',views.register_handler,name='user_register'),
path('logout',views.logput_handler,name='user_logout'),
re_path('purchase/(.+)',views.purchase_handler,name='user_purcharse'),
re_path('addShoppingCart/(.+)',views.addShoppingCart_handler,name='user_addShoppingCart'),
]
后端渲染
1.在templates中新建一个HTML文件,名为index,在course的views视图中与这个文件链接!
2.写index文件内容使其符合页面布局。
3.为了使新建的静态文件能够使用,在settings中配置:
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
]
4.创建course.html、index.html、user.html、user_course.html、user_data.html、user_shoppingcart.html、video.html
5.使这些文件继承于base文件,需要用到:{% extends ‘base.html’ %}
6.重写主体与标题:
{% block title %}
标题
{% endblock %}
重写主体:
{% block article %}
{% endblock %}
7.渲染首页的课程信息与价格,现在视图函数中设置代码,
```python
from django.shortcuts import render
from . models import Course,Category
# Create your views here.
def index_handler(request):
context={}
category_s = Category.objects.all()
course_data_s = []
for category in category_s:
course_data_s.append(
{
'category':category.name,
'course_s':category.courses_set.all()
}
)
context['course_data_s'] = course_data_s
return render(request,'index.html',context)