前言
我們日常上網的時候,總是會碰到一些盜號的網站,或者是別人發一些鏈接給你,里面的內容是一些可以免費購物網站的優惠券、游戲官網上可以免費領取皮膚、打折的游戲。
這些盜號網站統一的目的都是要你登錄賬號輸入密碼,點擊登錄,不過就是永遠會提示你密碼錯誤,登錄不上。但你輸入的所有信息,都會出現在別人的電腦上
這些網站盜號網站之所以能騙得過別人,是因為做得基本和正版的官方網站沒有什么差別。不能說毫無差別,只能說是一模一樣
而今天,我們的目的就是搭建一個這樣的網站后端,簡單的還原一下你被盜號的過程
pip install django[==版本]
如:pip install django==3.0
安裝django的指定版本
在命令指示符里數據命令
django-admin startproject steam_web
manage.py是命令文件,如果要運行Django內置的命令,必須要通過這個文件才行
把網站的各個模塊拆分成子應用
python manage.py startapp login
會生成一個login文件,打開文件
models.py文件:數據模型
views.py文件:用來控制頁面邏輯
可以用pycharm直接打開文件,然后點擊運行
運行后會給出一段域名,點擊打開
如果出現下面的頁面,就說明該項目環境配置成功了
Application definition 網站子應用進行注冊,在最后一行寫入login
# Application definition # 網站子應用進行注冊 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'login', ]
創建一個templates文件,並修改代碼
# templates 文件夾的配置項 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', ], }, }, ]
配置網站默認語言、時間
# 網站默認語言 英文 修改成中文 LANGUAGE_CODE = 'zh-hans' # 當前時間 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False
最后在刷新網站頁面,就變成了中文
靜態頁面當中的文件夾配置,並在總目錄中創建一個static文件夾
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
打開**models.py文件,需要去創建一個模型類
from django.db import models # Create your models here. class User(models.Model): name = models.CharField(max_length=20) pwd = models.CharField(max_length=20)
打開views.py文件,編寫視圖,是控制網站與用戶的交互邏輯
# 渲染html文件到瀏覽器的 from django.shortcuts import render from django.views.generic import View from .models import User from django.http import HttpResponse # Create your views here. # 在瀏覽器中顯示網站首頁 def index(request): return render(request, 'index.html') # 登錄類視圖 class Login(View): def get(self, request): return render(request, 'denlu.html', locals()) ''' 當用戶在頁面中輸入了一些數據 可以使用post去做接收 ''' def post(self, request): name = request.POST.get('username') pwd = request.POST.get('password') User.objects.create(name=name, pwd=pwd).save() print(name) print(pwd) return HttpResponse('你的賬號已經被盜, 溜了 溜了~')
from django.contrib import admin from django.urls import path from login.views import index, Login urlpatterns = [ path('admin/', admin.site.urls), path('', index, name='index'), path('login/', Login.as_view(), name='login') ]
因為只是個教學,所以用是自帶的:sqlite3,文件型小型數據庫
點擊打開后,在這里輸入makemigrations,這是將數據模型中的字段編譯成一個Python的腳本,包含了sql語言
確定后會給你生成一個0001_initial.py文件
然后在執行腳本,輸入 migrate 將數據模型映射到數據庫中
選擇點擊登錄,輸入賬號密碼,點擊確定
然后你的賬號密碼會被打印出來