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.conf.urls import url from django.contrib import admin from django.urls import path, include from apps.user.views import RegisterView, LoginView, LogoutView, ActiveView, UserInfoView, UserAddressView, UserOrderView from django.contrib.auth.decorators import login_required urlpatterns = [ path('register', RegisterView.as_view(), name='register'), path('login', LoginView.as_view(), name='login'), path('logout', LogoutView.as_view(), name='logout'), url(r'^active/(?P<token>.*)$', ActiveView.as_view(), name='active'), # login_required() 登陆装饰器 # path('', login_required(UserInfoView.as_view()), name='user_center'), # path('add', login_required(UserAddressView.as_view()), name='user_addr'), # path('ord', login_required(UserOrderView.as_view()), name='user_ord'), # Mixin封装,作用和上面的登陆装饰器完全一样,只是更加省事 path('', UserInfoView.as_view(), name='user_center'), path('add', UserAddressView.as_view(), name='user_addr'), path('ord', UserOrderView.as_view(), name='user_ord'), ]
from django.urls import path from django.contrib.auth.decorators import login_required from apps.user.views import RegisterView, ActiveView, LoginView, UserInfoView, UserOrderView, UserAddressView, LogoutView app_name = 'user' urlpatterns = [ path('register', RegisterView.as_view(), name='register'), # 注册 path('active/<token>', ActiveView.as_view(), name='active'), # 用户激活 path('login', LoginView.as_view(), name='login'), # 登录页面 path('logout', LogoutView.as_view(), name='logout'), # 注销登录页面 path('user', UserInfoView.as_view(), name='user'), # 用户中心-信息页 path('order/<page>/', UserOrderView.as_view(), name='order'), # 用户中心-订单页 path('address', UserAddressView.as_view(), name='address'), # 用户中心-地址页 ]
from django.conf.urls import url from apps.user import views from apps.user.views import RegisterView, ActiveView, LoginView, LogoutView, UserInfoView, UserOrderView, UserAddressView from django.contrib.auth.decorators import login_required urlpatterns = [ # url(r'^register$', views.register, name='register') url(r'^register$', RegisterView.as_view(), name='register'), url(r'^active/(?P<token>.*)$', ActiveView.as_view(),name='active'), # url(r'^register_handle$', views.register_handle, name='register_handle'), # 注册处理 url(r'^login$', LoginView.as_view(), name='login'), # 登录 url(r'^logout$', LogoutView.as_view(), name='logout'), # 注销 # url(r'^order$', login_required(UserOrderView.as_view()), name='order'), # url(r'^address$',login_required(UserAddressView.as_view()), name='address'), # # url(r'^$', login_required(UserInfoView.as_view()), name='user'), url(r'^order/(?P<page>\d+)$', UserOrderView.as_view(), name='order'), url(r'^address$', UserAddressView.as_view(), name='address'), url(r'^$', UserInfoView.as_view(), name='user'), ]
from django.urls import path #导入装饰器login_required有些页面在没有登陆的情况下不能直接访问,加装饰器限制 #在访问视图函数之前加装饰器,所以可以在访问URL的时候直接加装饰器 from django.contrib.auth.decorators import login_required app_name = "user" from apps.user.views import RegisterView, LogoutView, ActiveView, LoginView, UserAddressView, UserInfoView, UserOrderView urlpatterns = [ path('register/', RegisterView.as_view(), name="register"), path('active/<token>/', ActiveView.as_view(), name="active"), path('login/', LoginView.as_view(), name="login"), path('logout/', LogoutView.as_view(), name="logout"), path('', UserInfoView.as_view(), name="user"), path('order/', UserOrderView.as_view(), name="order"), path('address/', UserAddressView.as_view(), name="address"), ]
from django.conf.urls import url from django.contrib.auth.decorators import login_required from apps.user.views import RegisterView, ActiveView, LoginView, LogoutView, UserInfoView, UserOrderView, UserAddressView urlpatterns = [ #url(r'^register$', views.register, name='register'), #注册页面 #url(r'^register_handle$', views.register_handle, name='register_handle'), #注册处理页面 url(r'^register$', RegisterView.as_view(), name='register'), #注册 url(r'^active/(?P<token>.*)$', ActiveView.as_view(), name='active'), #用户邮箱激活 url(r'^login$', LoginView.as_view(), name='login'), #登录页面 url(r'^logout$', LogoutView.as_view(), name='logout'), #用户退出 # url(r'^$', login_required(UserInfoView.as_view()), name='userinfo'), #用户中心-信息页 # url(r'^order$', login_required(UserOrderView.as_view()), name='userorder'), #用户中心-订单页 # url(r'^address', login_required(UserAddressView.as_view()), name='useraddress'), #用户中心-地址页 url(r'^$', UserInfoView.as_view(), name='userinfo'), # 用户中心-信息页 url(r'^order/(?P<pages>\d+)$', UserOrderView.as_view(), name='userorder'), # 用户中心-订单页 url(r'^address', UserAddressView.as_view(), name='useraddress'), # 用户中心-地址页 ]
from django.urls import re_path from django.contrib.auth.decorators import login_required from apps.user.views import RegisterView, ActiveView, LoginView, UserInfoView, UserOrderView, UserAddressView, LogoutView app_name = 'user' urlpatterns = [ re_path(r'^register$', RegisterView.as_view(), name='register'), # 注册 re_path(r'^active/(?P<token>.*)$', ActiveView.as_view(), name='active'), # 用户激活 re_path(r'^login$', LoginView.as_view(), name='login'), # 用户登录 re_path(r'^logout$', LogoutView.as_view(), name='logout'), # 用户退出 # re_path(r'^$', login_required(UserInfoView.as_view()), name='user'), # 用户中心-信息页 # re_path(r'^order$', login_required(UserOrderView.as_view()), name='order'), # 用户中心-订单页 # re_path(r'^address$', login_required(UserAddressView.as_view()), name='address'), # 用户中心-地址页 re_path(r'^$', UserInfoView.as_view(), name='user'), # 用户中心-信息页 re_path(r'^order/(?P<page>\d+)$', UserOrderView.as_view(), name='order'), # 用户中心-订单页 re_path(r'^address$', UserAddressView.as_view(), name='address'), # 用户中心-地址页 ]
from django.contrib.auth.decorators import login_required from django.urls import path from apps.user import views from apps.user.views import RegisterView, LoginView, LogoutView from apps.user.views import UserInfoView, UserOrderView, UserAddressView app_name = 'user' urlpatterns = [ # path('register/', views.register, name='register'), path('register/', RegisterView.as_view(), name='register'), path('active/<str:token>/', views.active, name='active'), path('login/', LoginView.as_view(), name='login'), path('logout/', LogoutView.as_view(), name='logout'), path('', UserInfoView.as_view(), name='user'), path('order/<int:page>/', UserOrderView.as_view(), name='order'), path('address/', UserAddressView.as_view(), name='address'), ]