创建用户模块子应用、
1.准备apps包,用于管理所有应用
2.在apps包下创建应用users
$ cd ~/projects/meiduo_project/meiduo_mall/meiduo_mall/apps
$ python ../../manage.py startapp users
2. 查看项目导包路径
重要提示:
若要知道如何导入users应用并完成注册,需要知道项目导包路径
已知导包路径
meiduo_project/meiduo_mall
已知 'users’应用所在目录
meiduo_project/meiduo_mall/meiduo_mall/apps/users
得到导入'users'应用的导包路径是:meiduo_mall/apps/users
-
注册用户模块子应用
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'meiduo_mall.apps.users', # 用户模块应用 ]
注册完users应用后,运行测试程序。
追加导包路径
思考:是否可以将注册users应用做的更加简便?
按照如下形式,直接以应用名users注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users', # 用户模块应用
]
分析:
已知导包路径
meiduo_project/meiduo_mall
已知'users'应用所在目录
meiduo_project/meiduo_mall/meiduo_mall/apps/users
若要直接以应用名'users'注册
需要一个导包路径:meiduo_project/meiduo_mall/meiduo_mall/apps
解决办法
- 追加导包路径:
meiduo_project/meiduo_mall/meiduo_mall/apps
1.查看项目BASE_DIR
2.追加导包路径
-
重新注册用户模块应用
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', # 用户模块应用 ]
重新注册完users应用后,运行测试程序。
展示注册页面
-
准备用户注册模板文件,加载页面静态文件
2.定义用户注册视图class RegisterView(View): """用户注册""" def get(self, request): """ 提供注册界面 :param request: 请求对象 :return: 注册界面 """ return render(request, 'register.html')
-
定义用户注册路由
1.总路由
urlpatterns = [ # users url(r'^', include('users.urls', namespace='users')), ]
2.子路由
urlpatterns = [ # 注册 url(r'^register/$', views.RegisterView.as_view(), name='register'), ]