外观
登录验证
我们有时希望有些页面在登录的情况下不能访问,为此Django提供了一个装饰器login_required。
如下面的代码就可以实现不允许用户在未登录的情况下阅读文章。
from django.contrib.auth.decorators import login_required
@login_required
def article_list(request):
article = Article.objects,all()
return render(request, 'article_list.html', {'articles': articles})同时需要在自定义路由配置文件urls.py文件中设置页面跳转的路径。
LOGIN_URL = '/articles/login/'ModelForm
前面的例子中我们既创建了数据库模型类又创建了表单类,-这种方法实际上可以被简化。使用Django提供的ModelForm创建完数据模型后它会自动创建表单类。ModelForm是Django中基于Model定制表单的方法,可以提高Model的复用性。使用时Django会根据django.db.models.FIeld自动转换为django.forms.Field见如下例子。