创建用户模块子应用
- 准备apps包,用于管理所有应用
- 在apps包下创建应用users
python ../../manage.py startapp users
注册用户模块子应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.users', # 用户模块应用
]
追加导包路径
是否可以将注册users应用做的更加简便
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users', # 用户模块应用
]
解决方案
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
展示用户注册页面
准备用户注册模板文件
{% load static %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>美多商城-注册</title>
<link rel="stylesheet" type="text/css" href="{% static 'css/reset.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}">
定义用户注册视图
class RegisterView(View):
"""用户注册"""
def get(self, request):
"""
提供注册界面
:param request: 请求对象
:return: 注册界面
"""
return render(request, 'register.html')
定义用户注册路由
总路由
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('users.urls')),
]
子路由
from django.urls import path
from . import views
app_name = 'users'
urlpatterns = [
path('register/', views.RegisterView.as_view(), name='register'),
]