Django+angular注册项目总结
Published by Shangyu Liu,
django提供了后端的mvc(mvt??)框架,model是models.py,创建数据库表(class)字段(class内定义),view是templates中的模板,而所谓的views.py其实是controller(from models import table,完成包括数据库在内的各种前后端交互工作)。
文件目录:
命令行创建project后,形成一个project的根目录,包含manage.py(各种命令行命令,如更新数据库结构、开启服务器、创建app等),一个sqlite3的文件,static文件夹(可自定义名称,放置模板引用的css、js、image等资源),创建的各个app文件夹,一个与根目录同名的文件夹
1、根目录同名文件夹:
settings.py:注册app,配置static目录等等
urls.py:注册view中的url(url是个名称,来自前端的请求会根据不同的url做出响应,在views.py中是一些函数方法)
wsgi:配置服务器
2、运行manage.py 创建app后产生app文件夹,admin是此app的登陆后台,models,views如前所述,内置一个templates放置html模板
使用方面:
一是前后端的数据传输,django提供了好的接口来接受、响应客户端数据,二是数据库操作,拿到models中的对象就可以利用django封装好的方法来实现数据库操作。这些接口、方法是如何实现的,以及python的基础知识需要进一步学习
项目结构:
1、后端非常简单,一个table(User),三个字段:username,password,email
2、前端:
一个controller,controller的scope上分别定义了username,password,email,subbtn四个对象,对应于网页中的三个输入框、一个提交按钮,三个输入框再输入过程中会时时检查输入内容,输入框对象的各个属性随着输入情况的改变而改变,并时时判断是否合法,根据判断,输入框的class属性会变化并给出hint内容。
输入内容变化事件和submit事件绑定在controller中,处理函数的函数体作为服务定义在controller之外,包括一个通用的检查服务、一个与后端交互的服务,每个服务返回一个包含方法的对象。
操作逻辑:
1、时时检查输入的有效性,其中确认密码与密码是相互关联的,密码和确认密码输入完成后,如果修改密码,会有提示。
2、根据后端数据,对同名注册、同email注册会给出各自的提示。
运行,进入代码根目录后,python manage.py migrate,python manage.py runserver就可以在127.0.0.1:8000/register中进行演示操作了。
一个坑:django的post请求会被认为不安全而403报错,所以注释掉了'django.middleware.csrf.CsrfViewMiddleware',对跨域攻击,尚不了解,坑待填。