Example #1
0
from django.conf.urls import patterns, include, url
from users.views import RegisterView

urlpatterns = patterns('',
    url(r'^register/?$', RegisterView.as_view(), name='users-register'),
    url(r'^signin/?$', 'django.contrib.auth.views.login', {
            'template_name': 'users/sign_in.html'
        }, name='users-signin'),
    url(r'^signout/?$', 'django.contrib.auth.views.logout', {
            'template_name': 'users/signed_out.html'
        }, name='users-signout')
)
Example #2
0
from django.views.generic import TemplateView

from users.views import LoginView, RegisterView, ActiveUserView, ForgetPwdView, ResetView, ModifyPwdView, LogoutView, IndexView
from organization.views import OrgView
# 函数方法
# from users import views

urlpatterns = [
    path('xadmin/', xadmin.site.urls),
    path('', IndexView.as_view(), name='index'),


    # 用户
    path('login/', LoginView.as_view(), name='login'),
    path('logout/', LogoutView.as_view(), name='logout'),
    path('register/', RegisterView.as_view(), name='register'),
    # path('login/', views.user_login, name='login'),
    path('captcha/', include('captcha.urls')),
    re_path('active/(?P<active_code>.*)/', ActiveUserView.as_view(), name='user_active'),
    path('forget/',ForgetPwdView.as_view(), name='forget_pwd'),
    re_path(r'reset/(?P<active_code>.*)/', ResetView.as_view(), name='reset_pwd'),
    path('modify_pwd/', ModifyPwdView.as_view(), name='modify_pwd'),

    # 个人信息
    path("users/", include('users.urls', namespace="users")),

    # 课程
    path("course/", include('course.urls', namespace="course")),

    # 机构
    path("org/", include('organization.urls', namespace="org")),
Example #3
0
from django.conf import settings
from django.conf.urls import url
from django.contrib import admin
from django.contrib.auth.decorators import login_required
from django.views.static import serve

from contest.models import Vote
from contest.views import HomeView, SponsorDetailsView, ContestDetailsView, \
    contest_upload_photo, contest_vote_entry
from users.decorators import redirect_authenticated
from users.views import RegisterView, LoginView, logout, ProfileView


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^register/?$', redirect_authenticated(RegisterView.as_view()), name='register'),
    url(r'^login/?$', redirect_authenticated(LoginView.as_view()), name='login'),
    url(r'^logout/?$', logout, name='logout'),

    url(r'^sponsor/details/(?P<slug>[\w_-]+)/?$', SponsorDetailsView.as_view(), name='sponsor_details'),
    url(r'^contest/details/(?P<contest_slug>[\w_-]+)/entry/(?P<entry_id>\d+)/upvote/?$', contest_vote_entry, {'vote_type': Vote.UPVOTE}, name='contest_upvote_entry'),
    url(r'^contest/details/(?P<contest_slug>[\w_-]+)/entry/(?P<entry_id>\d+)/downvote/?$', contest_vote_entry, {'vote_type': Vote.DOWNVOTE}, name='contest_downvote_entry'),
    url(r'^contest/details/(?P<slug>[\w_-]+)/?$', ContestDetailsView.as_view(), name='contest_details'),
    url(r'^contest/upload/(?P<slug>[\w_-]+)/?$', contest_upload_photo, name='contest_upload_photo'),

    url(r'^profile/?$', login_required(ProfileView.as_view()), name='profile'),
    url(r'^$', HomeView.as_view(), name='home'),
]

# Add media folder to urls when DEBUG = True
if settings.DEBUG:
Example #4
0
from organization.views import OrgView
from users.views import LoginView, RegisterView, ActiveUserView, ForgetPwdView, ResetView, ModifyPwdView, LogoutView, \
    IndexView

urlpatterns = [
    path('xadmin/', xadmin.site.urls),
    # TemplateView.as_view会将template转换为view
    #path('', TemplateView.as_view(template_name= "index.html"), name=  "index"),
    path('', IndexView.as_view(), name=  "index"),
    # 基于类方法实现登录,这里是调用它的方法
    path('login/', LoginView.as_view(), name="login"),
    # 退出功能url
    path('logout/', LogoutView.as_view(), name="logout"),

    # 注册url
    path("register/", RegisterView.as_view(), name = "register" ),

    # 验证码url
    path("captcha/", include('captcha.urls')),

    # 激活用户url
    re_path('active/(?P<active_code>.*)/', ActiveUserView.as_view(), name= "user_active"),

    # 忘记密码
    path('forget/', ForgetPwdView.as_view(), name= "forget_pwd"),

    # 重置密码urlc :用来接收来自邮箱的重置链接
    re_path('reset/(?P<active_code>.*)/', ResetView.as_view(), name="reset_pwd"),

    # 修改密码url; 用于passwordreset页面提交表单
    path('modify_pwd/', ModifyPwdView.as_view(), name="modify_pwd"),
Example #5
0
from django.conf.urls import include, url
from django.contrib import admin
from users.views import (
    RegisterView, LoginView, LogoutView)
from django.conf import settings
from django.contrib.auth import views as auth_views
from django.views.static import serve

urlpatterns = [

	url(r'^admin/', include(admin.site.urls)),
    url(r'^register/$', RegisterView.as_view(), name="user-register"),
    url(r'^$', LoginView.as_view(), name="user-login"),
    url(r'^logout/$', LogoutView.as_view(), name="logout"),
    
]

if settings.DEBUG:
    urlpatterns += [

        url(r'^media/(.*)$', serve,
            {'document_root': settings.MEDIA_ROOT}),
    ]
Example #6
0
from django.conf.urls import include, url,patterns
from django.contrib import admin
from users.views import RegisterView,LoginView, LogoutView, UserProfileView, GameView
from django.views.generic import View
from django.views.decorators.csrf import csrf_exempt


urlpatterns = patterns('',

    url(r'^$', GameView.as_view()),

    url(r'^login/$', csrf_exempt(LoginView.as_view())),

    url(r'^register/$', csrf_exempt(RegisterView.as_view())),

    url(r'^logout/$', csrf_exempt(LogoutView.as_view())),

    url(r'^profile/$', csrf_exempt(UserProfileView.as_view())),


    # url(r'^search$', SearchView.as_view()),
    #
    # url(r'^post$', PostView.as_view()),
    #
    # url(r'^repost$', RepostView.as_view()),
)
Example #7
0
from shop.settings import MEDIA_ROOT

from django.conf.urls import url, include
from django.views.static import serve
from django.views.generic import TemplateView
from users.views import LoginView, RegisterView, ActiveUserView, ForgetPwdView, \
    ResetView, ModifyPwdView, LogoutView, IndexView
from organization.views import OrgView
import xadmin

urlpatterns = [
    #url(r'^admin/', admin.site.urls),
    url(r'^$', IndexView.as_view(), name='index'),
    url(r'^logout/$', LogoutView.as_view(), name='logout'),
    url(r'^login/$', LoginView.as_view(), name="login"),
    url(r'^register/', RegisterView.as_view(), name="register"),
    url(r'^forget/$', ForgetPwdView.as_view(), name='forget_pwd'),
    url(r'^modify_pwd/$', ModifyPwdView.as_view(), name="modify_pwd"),
    url(r'^xadmin/', xadmin.site.urls),
]

urlpatterns += [
    url(r'^captcha/', include('captcha.urls')),
    url(r'^active/(?P<active_code>.*)/$',
        ActiveUserView.as_view(),
        name="user_active"),
    url(r'^reset/(?P<active_code>.*)/$', ResetView.as_view(),
        name="reset_pwd"),
]

urlpatterns += [
Example #8
0
import xadmin
# 用于处理静态文件
from django.views.static import serve

# 从app中的user的view中导入类
from users.views import LoginView, RegisterView, ActiveUserView, ForgetPwdView, ResetView, ModifyPwdView
# 从app中的organization的view中导入类
from organization.views import OrgView
from MxOnline.settings import MEDIA_ROOT
# 首页配置的时候前面不用加"/",不能url('^/login/$',而是要url('^login/$',
urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
    url('^$', TemplateView.as_view(template_name="index.html"), name="index"),
    url('^login/$', LoginView.as_view(), name="login"),
    url('^register/$', RegisterView.as_view(), name="register"),
    url(r'^captcha/', include('captcha.urls')),
    # 把传回的链接,如http://127.0.0.1:8000/active/uYyUk92u188xOiE8,截取active/后面字符串返回给user_active
    url(r'^active/(?P<active_code>.*)/$', ActiveUserView.as_view(), name="user_active"),
    url(r'^forget/$', ForgetPwdView.as_view(), name="forget_pwd"),
    # 把忘记密码传回的链接,如http://127.0.0.1:8000/reset/uYyUk92u188xOiE8,截取reset/后面字符串返回给reset_pwd
    url(r'^reset/(?P<active_code>.*)/$', ResetView.as_view(), name="reset_pwd"),
    url(r'^modify_pwd/$', ModifyPwdView.as_view(), name="modify_pwd"),


    # 设置前端识别到media/路径时的搜索处理路径(配置上传文件的访问处理函数)
    url(r'^media/(?P<path>.*)$', serve, {"document_root":MEDIA_ROOT}),
    # 课程机构首页,通过{% block XXX %}继承base.html实现子模板的生成
    # 课程机构url配置
    url(r'^org/', include('organization.urls', namespace="org")),
Example #9
0
import xadmin
from django.urls import path, include, re_path
from organization.views import OrgView
from users.views import LoginView, RegisterView, ActiveUserView, ForgetPwdView, ModifyPwdView, ResetView
# Template文件相关
from django.views.generic import TemplateView
# 处理静态文件
from django.views.static import serve

from django_web.settings import MEDIA_ROOT
urlpatterns = [
    path(r'xadmin/', xadmin.site.urls),
    path('', TemplateView.as_view(template_name="index.html"), name="index"),
    path('login', LoginView.as_view(), name="login"),
    path('register', RegisterView.as_view(), name="register"),
    # 验证码路径
    path('captcha', include('captcha.urls')),
    # 激活用户
    re_path('active/(?P<active_code>.*)/',
            ActiveUserView.as_view(),
            name="user_active"),
    # 忘记密码
    re_path('forget', ForgetPwdView.as_view(), name="forget_pwd"),
    # 重置密码页面
    re_path('reset/(?P<active_code>.*)/',
            ResetView.as_view(),
            name="reset_pwd"),
    # 修改密码
    re_path('modify_pwd', ModifyPwdView.as_view(), name="modify_pwd"),
    # 课程机构首页
Example #10
0
"""ftc2 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from users.views import RegisterView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('rest_auth.urls')),
    path('registration/', RegisterView.as_view(), name='rest_register'),
    path('offers/', include('offers.urls'))
]

Example #11
0
import xadmin

from django.urls import path, include, re_path
from django.views.generic import TemplateView
from users.views import LoginView, LogoutView
from users.views import RegisterView, ActiveUserView, IndexView
from users.views import ForgetPwdView, ResetView, ModifyPwdView
from trip.settings import MEDIA_ROOT
from django.views.static import serve

urlpatterns = [
    #urls中,通过类的as_view方法,调用这个View类
    path('xadmin/', xadmin.site.urls),
    path('', IndexView.as_view(), name='index'),
    path('login/', LoginView.as_view(), name='login'),
    path('logout/', LogoutView.as_view(), name="logout"),
    path('register/', RegisterView.as_view(), name='register'),
    path('captcha/', include('captcha.urls')),
    re_path('active/(?P<active_code>.*)/',
            ActiveUserView.as_view(),
            name='user_active'),
    path('forget/', ForgetPwdView.as_view(), name='forget_pwd'),
    re_path('reset/(?P<active_code>.*)/',
            ResetView.as_view(),
            name='reset_pwd'),
    path('modify_pwd/', ModifyPwdView.as_view(), name='modify_pwd'),
    #处理图片显示的url,使用Django自带serve,传入参数告诉它去哪个路径找,我们有配置好的路径MEDIAROOT
    re_path(r'^media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT}),
    path('travel/', include('travel.urls', namespace='travel')),
    #path('users/',include('users.url',namespace='users')),
]
Example #12
0
import xadmin
from django.contrib import admin
from django.urls import path
from django.urls import re_path
from django.views.generic import TemplateView
from houses.views import *
from users.views import RegisterView, ActiveUserView, LoginView, LogoutView, Show
from subdistricts.views import xiaoquview
from django.views.static import serve
from bisai.settings import MEDIA_ROOT
from operations.views import *
urlpatterns = [
    path('xadmin/', xadmin.site.urls),
    re_path('^$', TemplateView.as_view(template_name='index.html'), name='index'),
    re_path('^index/$', TemplateView.as_view(template_name='index.html'), name='index_1'),
    re_path('^register/$', RegisterView.as_view(), name='register'),
    re_path('^login/$', LoginView.as_view(), name='login'),
    re_path('active/(?P<active_code>.*)/', ActiveUserView.as_view(), name="user_active"),
    re_path('^rent/$',showrent, name='rent'),
    re_path('^renthandle/$',getinfo,name='renthandle'),
    re_path('^subdistrict-list.html/$', xiaoquview.as_view(), name='xiaoqu'),
    re_path('^infor/$', TemplateView.as_view(template_name='user-profile.html'), name='infor'),
    re_path('^shoucang/$', ShowFavView.as_view(), name='shoucang'),
    re_path('^pianhao/$',showpianhao,name='pianhao'),
    re_path('^help/$', TemplateView.as_view(template_name='page-contact.html'), name='help'),
    re_path('logout/$', LogoutView.as_view(), name='logout'),
    re_path('edit/$', Show.as_view(), name='edit'),
    re_path('setpianhao/$', setpianhao, name='setpianhao'),
    re_path(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),
    re_path('^xiaoqu/(?P<sid>L\d{10})/$', Houseinfo.as_view(), name='house-list'),
    # 房源详细
Example #13
0
from MxOnline.settings import MEDIA_ROOT
from users.views import IndexView
# from MxOnline.settings import STATIC_ROOT
# from users.views import LoginUnsafeView

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^xadmin/', xadmin.site.urls),
    url('^$', IndexView.as_view(), name='index'),

    # url('^login/', TemplateView.as_view(template_name="login.html"), name='login'),
    # url('^login/', user_login, name='login'),
    # url('^login/', LoginUnsafeView.as_view(), name='login'),
    url('^login/', LoginView.as_view(), name='login'),
    url('^logout/', LogoutView.as_view(), name='logout'),
    url('^register/', RegisterView.as_view(), name='register'),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^active/(?P<active_code>.*)/$',
        ActiveUserView.as_view(),
        name='user_active'),
    url(r'^forget/$', ForgetPwdView.as_view(), name='forget_pwd'),
    url(r'^reset/(?P<active_code>.*)/$', ResetView.as_view(),
        name='reset_pwd'),
    url(r'^modify_pwd/$', ModifyPwdView.as_view(), name='modify_pwd'),

    # 课程机构url配置
    url(r'^org/', include('organization.urls', namespace="org")),

    # 课程相关url配置
    url(r'^course/', include('courses.urls', namespace="course")),
Example #14
0
URL configuration originally generated by "django-admin startproject" using Django 2.1.7 for the system;
@author: Liu Haodong, Zhao Jichen, Ye Yifan, and Wang Annong
'''

from . import views;

import xadmin
from django.urls import path, include, re_path
from django.views.static import serve
from PRS.settings import MEDIA_ROOT
from users.views import LoginView, ActiveUserView, RegisterView, ForgetPwdView, ResetView, ModifyPwdView, LogoutView

# the "urlpatterns" list routes URLs to views
urlpatterns = [
    path('me/', xadmin.site.urls),  # Xadmin
    path('', views.home, name = 'index'),  # the home page
    path('home/', views.home, name = 'home'),  # the home page
    path('reg/', views.reg, name = 'reg'),  # the registration page
    path('reg/data_refresh/', views.data_refresh, name = 'data_refresh'),  # the registration page with real-time updated data
    path('reg/rec_reg/', views.rec_reg, name = 'rec_reg'),  # the registration result page
    path('about/', views.about, name = 'about'),  # the system introduction page
    path('login/', LoginView.as_view(), name = 'login'),  # the login page
    path('sign-up/', RegisterView.as_view(), name = 'sign-up'),  # the sigh-up page
    re_path(r'^media/(?P<path>.*)', serve, {'document_root': MEDIA_ROOT}),  # the media resource management url
    path('captcha/', include('captcha.urls')),  # the captcha resource management url
    re_path('active/(?P<active_code>.*)/', ActiveUserView.as_view(), name = 'user_active'),  # the page showing after activating successfully
    path('forget/', ForgetPwdView.as_view(), name = 'forget_pwd'),  # the page for asking for resetting the password
    re_path('reset/(?P<active_code>.*)/', ResetView.as_view(), name = 'reset_pwd'),  # the page for resetting the password
    path('modify_pwd/', ModifyPwdView.as_view(), name = 'modify_pwd'),  # the page for modifying the password
    path('logout/', LogoutView.as_view(), name = "logout"),  # the logout page
]
Example #15
0
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url, include
from django.views.static import serve
import xadmin

from users.views import LoginView, LogoutView, RegisterView, ActiveUserView, ForgetPwdView, ResetView, ModifyPwdView
from users.views import IndexView
from testonline.settings import MEDIA_ROOT

urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
    url('^$', IndexView.as_view(), name="index"),
    url('^login/$', LoginView.as_view(), name="login"),
    url('^logout/$', LogoutView.as_view(), name="logout"),
    url('^register/$', RegisterView.as_view(), name="register"),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^active/(?P<active_code>.*)/$', ActiveUserView.as_view(), name="user_active"),
    url(r'^forget/$', ForgetPwdView.as_view(), name="forget_pwd"),
    url(r'^reset/(?P<active_code>.*)/$', ResetView.as_view(), name="reset_pwd"),
    url(r'^modify_pwd/$', ModifyPwdView.as_view(), name="modify_pwd"),

    # 课程机构url配置
    url(r'^org/', include('organization.urls', namespace='org')),

    # 课程相关url配置
    url(r'^course/', include('courses.urls', namespace='course')),

    # 配置上传文件的访问处理函数
    url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),
Example #16
0
urlpatterns = rest_urls.urlpatterns + [
    path('api-auth/', include('rest_framework.urls')),
    # 第三方登录
    # path('social', include('social_django.urls', namespace='social')),
    path('xadmin/', xadmin.site.urls),
    # 富文本相关url
    path('ueditor/', include('DjangoUeditor.urls')),
    # TemplateView.as_view会将template转换为view
    # path('', TemplateView.as_view(template_name= "index.html"), name=  "index"),
    path('', IndexView.as_view(), name="index"),
    # 基于类方法实现登录,这里是调用它的方法
    path('login/', LoginView.as_view(), name="login"),
    # 退出功能url
    path('logout/', LogoutView.as_view(), name="logout"),
    # 注册url
    path("register/", RegisterView.as_view(), name="register"),
    # 验证码url
    path("captcha/", include('captcha.urls')),
    # 激活用户url
    re_path('active/(?P<active_code>.*)/',
            ActiveUserView.as_view(),
            name="user_active"),
    # 忘记密码
    path('forget/', ForgetPwdView.as_view(), name="forget_pwd"),
    # 重置密码urlc :用来接收来自邮箱的重置链接
    re_path(
        'reset/(?P<active_code>.*)/', ResetView.as_view(), name="reset_pwd"),
    # 修改密码url; 用于passwordreset页面提交表单
    path('modify_pwd/', ModifyPwdView.as_view(), name="modify_pwd"),
    # 处理图片显示的url,使用Django自带serve,传入参数告诉它去哪个路径找,我们有配置好的路径MEDIAROOT
    re_path('media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT}),
Example #17
0
from django.conf.urls import url, patterns
from users.views import RegisterView, ActivateView
from django.contrib.auth.views import login, logout
from django.contrib.auth.decorators import user_passes_test

# Redirect to homepage if user tries to access login page while already logged in.
login_forbidden =  user_passes_test(lambda u: u.is_anonymous(), '/')

urlpatterns = patterns('',
    url(r'^register/$', RegisterView.as_view(), name='register'),
    url(r'^activate/$', ActivateView.as_view(), name='activate'),
    url(r'^login/$', login_forbidden(login), {'template_name': 'users/login.html'}, name='login'),
    url(r'^logout/$', logout, {'template_name': 'users/logout.html', 'next_page':'/'}, name='logout')
)
Example #18
0
import xadmin
from django.views.static import serve
from OnlineEducation.settings import MEDIA_ROOT

from users.views import LoginView, RegisterView, ActivateUserView, ForgetPasswordView, ResetView, ModifyPwdView, \
    LogoutView
from users.views import IndexView

urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
    url(r'^index/', IndexView.as_view(), name='index'),
    url(r'^$', IndexView.as_view(), name='index'),
    url(r'^login/$', LoginView.as_view(), name='login'),
    url(r'^logout/$', LogoutView.as_view(), name='logout'),
    url(r'^register/$', RegisterView.as_view(), name='register'),
    url(r'^captcha/', include('captcha.urls')),
    url(r'^activate/(?P<active_code>.*)/$',
        ActivateUserView.as_view(),
        name='user_active'),
    url(r'^forget/$', ForgetPasswordView.as_view(), name='forget'),
    url(r'^reset/(?P<reset_code>.*)/$', ResetView.as_view(), name='reset'),
    url(r'^modify_pwd/$', ModifyPwdView.as_view(), name='modify_pwd'),

    # 课程机构路由
    url(r'^org/', include('organization.urls', namespace='org')),
    # 课程路由
    url(r'^course/', include('courses.urls', namespace='course')),
    # 用户个人中心路由
    url(r'^user/', include('users.urls', namespace='user')),
    # 配置上传文件的访问路径
Example #19
0
from django.conf.urls import include, url,patterns
from django.contrib import admin
from users.views import RegisterView, IndexView,LoginView,UserView,LogoutView
from django.views.generic import View


urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'project.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^$',IndexView.as_view()),

    url(r'^register$', RegisterView.as_view()),

    url(r'^login$', LoginView.as_view()),

    url(r'^logout$',LogoutView.as_view()),

    url(r'^(?P<username>[\w\-]+)$', UserView.as_view()),
)
Example #20
0
from django.contrib import admin

from users.views import get_index, LogInView, RegisterView, logout_view, ActiveUserView, ProfileView, ChangeProfileView
from music_sheet.views import MusicSheetView, SongsView, MsDetailView
from django.conf.urls import url
from django.conf import settings
from django.views.static import serve
import xadmin

xadmin.autodiscover()

urlpatterns = [
    url('xadmin/', xadmin.site.urls),
    # url('admin/', admin.site.urls),
    url('index/$', get_index),
    url('register/$', RegisterView.as_view(), name='注册'),
    url('profile/(?P<username>.*)/$', ProfileView.as_view(), name='用户页面'),
    url('login/$', LogInView.as_view(), name='登录'),
    url('logout/$', logout_view),
    url('active/(?P<active_code>.*)/$', ActiveUserView.as_view(),
        name='用户激活'),  # 配置激活账户的链接
    url('changeprofile/$', ChangeProfileView.as_view(), name='信息修改'),
    url('listen/$', MusicSheetView.as_view(), name='歌单页面'),
    url('songs/$', SongsView.as_view(), name='歌曲页面'),
    url('media/(?P<path>.*)$', serve,
        {'document_root': settings.MEDIA_ROOT}),  # 读取数据库中图片的URL
    url('msdetail/(?P<music_sheet_id>.*)$',
        MsDetailView.as_view(),
        name='歌单详情页'),
    url('', get_index)
]