django简单博客总结

博客功能:用户注册与登陆,登陆后可以发布内容,评论博客。

dango auth 模块用于实现用户登陆与注册

urls:
signup 注册链接
login 登陆链接
logout 登出链接
model:django.contrib.auth.models.User

views

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django.shortcuts import render, redirect
from django.http import HttpResponse
from django.contrib.auth.models import User
from django.contrib.auth import views
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.decorators import login_required
# Create your views here.


def signup(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
return redirect('pri_home')
else:
form = UserCreationForm
return render(request, 'signup.html', {'form': form})

def login(request):
views.LoginView.as_view(template_name='login.html')

def logout(request):
views.LogoutView.as_view()

form

使用内置 form django.contrib.auth.forms.UserCreationForm

templates:
signup.html 渲染 UserCreationForm,和其他一些链接。
login.html 内部视图 LoginView.as_view()使用,默认传登陆 form 到模板。

settings

设置模板目录

1
2
3
DIRS': [
os.path.join(BASE_DIR, 'templates')
],

设置登陆 url,登陆跳转 url,注销跳转 url

1
2
3
4
STATIC_URL = '/static/'
LOGIN_REDIRECT_URL = 'pri_home'
LOGIN_URL = 'login'
LOGOUT_REDIRECT_URL = 'pub_home'

视图高级用法

基于函数的视图 FBV
基于类的视图 CBV
基于类的通用视图 GCBV

总结

一开始就学框架很不好,因为你不知道具体细节,只知道遇到这个问题,就这么用就行了,你会不求甚解。积累的都是知道型知识,而不是一套解决问题的通用方法。