- 建立level_1项目:
- django-admin.py startproject level_1
- 新建Accounts App:
- cd level_1
- manage.py startapp accounts
- 仅仅两行代码,Django能为我们配置了大部分的东西(当然还需要配置点东西,如指定数据库等,参照实例源码吧)。接下来就是实例的核心部分了,我们集中精力编写好它们。
- 因为本人喜欢先从urls入手,因为从urls入手最能整体把握整个实例。实例有4个功能点:首页的欢迎体验;注册新的用户;用户登录,最后登陆后的注销。思路明确了,所以urls可以写成:
- 1 url(r'^$', 'accounts.views.index',name="index"),
- 2 url(r'^accounts/index$', 'accounts.views.index',name="accounts_index"),
- 3 url(r'^accounts/register$', 'accounts.views.register',name="register"),
- 4 url(r'^accounts/login$', 'accounts.views.login',name="login"),
- 5 url(r'^accounts/logout$', 'accounts.views.logout',name="logout"),
- 第一行代码是附带的,相当直接输入域名(不指定页面或者action)的时候,默认指向到一个页面。它和第二行代码都是指向到首页。
- 这几行代码的的url函数,第一个参数代表在浏览器上url地址,第二个参数代表在浏览器上输入url地址后,指向views上的某个action;第三个参数是别名,供template模板使用。
- 比如浏览器上输入:http://域名/accounts/index 的时候,django会告诉浏览器 这个地址应该指向到 accounts app视图views的index 的action上。
- 接下来就是编写accounts app 的 views部分了;编好urls后,基本就知道views有几个action(方法)了;我们统筹一下如下:
- def index(request):
- pass
- def register(request):
- pass
- def login(request):
- pass
- def logout(request):
- pass
- 每个具体action实现思路没有清晰之前,我们可以像上面那样 把骨架定下来。然后就是对每个action构思了。
- 首页我们做个简单的东西,当用户没有登录时,显示:欢迎您 游客! 但当用户登录后就要显示:欢迎您 ***(用户昵称)了。
- template_var={"w":_(u"欢迎您 游客!")}
- if request.user.is_authenticated():
- template_var["w"]=_(u"欢迎您 %s!")%request.user.username
- return render_to_response("accounts/welcome.html",template_var,\
- context_instance=RequestContext(request))
Django Auth注册
最新推荐文章于 2022-08-27 16:21:39 发布