在命令行创建django工程djcsrfget,在工程内创建应用testget,命令如下:django-admin startproject djcsrfgetcd djcsrfgetpython manage.py startapp testget
使用PyCharm打开此工程,在工程的同名的文件夹的settings文件,添加应用配置和模板路径,修改的settings.py内容如下:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'csrfget.apps.CsrfgetConfig', ] ROOT_URLCONF = 'djcsrftest.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
在项目根目录,新建templates文件夹,并在文件夹内新建‘login.html’和‘index.html’文件,内容如下:login.html
欢迎{{user}}
在工程的同名文件夹的urls.py文件,include到应用的urls.py文件,代码如下:from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'',include('csrfget.urls')), ]在应用内新建urls.py文件,并写代码如下:from django.conf.urls import url from . import views urlpatterns = [ url(r'login/',views.login), url(r'index/',views.index), url(r'transfer/',views.transfer) ]
在应用的views.py写代码如下,包含三个方法,登录,首页,转账from django.shortcuts import render,HttpResponse,redirect from django.contrib import auth from django.contrib.auth.decorators import login_required # Create your views here. def login(request): if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = auth.authenticate(username=username, password=password) if user: auth.login(request,user) print ('ok') return redirect('/index/') return render(request,'login.html') @login_required(login_url='/login/') def index(request): return render(request,'index.html') @login_required(login_url='/login/') def transfer(request): return HttpResponse('you have tansfer 1000RMB')转账和首页都是必须登录后才能进入
进行数据库迁移并创建一个超级用户,打开开发工具的terminalpython manage.py migratepython manage.py createsuperuser
运行服务器,登录上一步创建的用户,在首页点击transfer,弹出下图第三个试想如果这个连接是别人发过来的,在用户已经登录后同样可以操作,只要是在同一个浏览工具,就有当前用户的cookie。python manage.py runserver