赞
踩
话不多说我们直接开始进入正题~~~~~~
Django 是一个基于 Python 的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使开发Web应用程序变得更加简单和快速。Django提供了许多功能和工具,包括自动化的管理面板、表单处理、认证系统、用户管理、数据库抽象层等,使开发人员能够更专注于业务逻辑的实现。Django还遵循“DRY(不要重复自己)”原则,使得开发更加高效。它被广泛用于构建高质量的Web应用程序和网站。
直接说怎么做不啰嗦了(要看具体内容欢迎去看django官网)
此文章是为了自己巩固学习而写的(只有我能看懂,不推荐看)
1. pip install django
2.通过pycharm创建一个django项目 在通过(python manage.py startapp make_me)
3.进入之后
3.1
会出现这几个文件
如果我们不考虑部署服务器的话我们所要操作只有settings和urls文件
settings->整个项目的配置文件(进入settings)
1.注册app
- INSTALLED_APPS = [
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'make_me'#这是我的app
-
- ]
'运行
2.删除不必要项
- TEMPLATES = [
- {
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': []
- ,
- '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',
- ],
- },
- },
- ]
'运行
删除‘DIRS’中的部分如图
3.修改数据库
我用的是mysql
- DATABASES={
- 'default': {
- 'ENGINE': 'django.db.backends.mysql',
- 'NAME': 'tea_stu',
- 'USER': 'root',
- 'PASSWORD': '031015',
- 'HOST': '127.0.0.3',
- 'PORT':3306,
- }
- }
'运行
4.在创建的app下面添加static文件(用来存放静态文件bootsrap去官网里面下载这里我用的是bs3)
5.在app下创建templates文件(存放html文件)
6.在app目录下创建utils(用来存放组件(可以直接使用的))
7.导入必要的库pymysql,mysqlclient等在
在init文件中添加
- import pymysql
- pymysql.install_as_MySQLdb()
在app(make_me)中我们所要经常操作的是models和views(主要的思路就是在html中写下路由链接-点击跳转到urls中-通过urls中的函数跳转到views视图函数中进行作用,在跳转到html中进行作用)
配置完成之后(让我们来写一个登录页面)
1.通过models.py写自己所需要的表单
- # 学生信息
- class Stu_Info(models.Model):
- stu_name = models.CharField(verbose_name="名字",max_length=32)
- stu_age = models.IntegerField(verbose_name="年龄")# 年龄直接使用IntegerField
- gender_choice = {
- (1,'男'),
- (2,'女')
- }
- stu_gender = models.SmallIntegerField(verbose_name="性别",choices=gender_choice)# 当选择使用的时候直接使用SmallIntegerField来当做字段
- stu_address = models.CharField(verbose_name="地址",max_length=64)
- stu_high = models.CharField(verbose_name="身高",max_length=32)
- stu_weight = models.CharField(verbose_name="体重",max_length=32)
- stu_id = models.CharField(verbose_name="学号",max_length=64)
- stu_pwd = models.CharField(verbose_name="密码",max_length=32)
通过终端,python manage.py makemigrations 和 python manage.py migrate 进行数据迁移
2.urls页面
3.view页面
- # 登录页面
- def login_view(request):
- return render(request, 'login.html')
-
-
- # 登录按钮提交后,验证数据库中是否存在用户,存在就跳转主网页
- def login_view_submit(request):
- if request.method == "POST":#从post里面获取数据
- username = request.POST.get("username",'')
- password = request.POST.get('password','')
- if username and password:
- stu = models.Stu_Info.objects.filter(stu_name=username,stu_pwd=password).count()
- if stu >= 1:
- return render(request,'index.html')
- else:
- return render(request,'login.html')
- return render(request,'login.html')
'运行
4.html页面
直接点击进去后的登录页面
后面点击提交之后post请求就会提交(下面会有具体的逻辑)
- {% load static %}
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Login</title>
- <style>
- body {
- font-family: Arial, sans-serif;
- background-color: #f4f4f4;
- margin: 0;
- padding: 0;
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
- background-image: url({% static 'image/img2.jpg' %});
- background-size: cover;
- }
- .login-container {
- background-color: #fff;
- padding: 20px;
- border-radius: 8px;
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
- width: 400px; /* 修改宽度 */
- height: 400px;
- margin: 20px; /* 添加外边距 */
- }
- .login-container h2 {
- text-align: center;
- }
- .login-container form {
- display: flex;
- flex-direction: column;
- }
- .login-container form input[type="text"],
- .login-container form input[type="password"] {
- margin-bottom: 15px;
- padding: 10px;
- margin-top: 10%;
- border-radius: 4px;
- border: 1px solid #ccc;
- font-size: 16px;
- }
- .login-container form input[type="submit"] {
- margin-top: 20%;
- background-color: #007bff;
- color: #fff;
- border: none;
- padding: 10px;
- border-radius: 4px;
- cursor: pointer;
- font-size: 16px;
- transition: background-color 0.3s ease;
- }
- .login-container form input[type="submit"]:hover {
- background-color: #0056b3;
- }
- </style>
- </head>
- <body>
- <div class="login-container" style="color: blue">
- <h2>用户登录</h2>
- <form method="post" action="/index/login/">
- {% csrf_token %}
- <input type="text" name="username" placeholder="Username" required>
- <input type="password" name="password" placeholder="Password" required>
- <input type="submit" value="Login">
- <span style="color: #2aabd2">没有账号?<a href="/register/">去注册</a></span>
- </form>
- </div>
- </body>
- </html>
-
5.逻辑处理
runserver进去之后(由于路由urls中
path('',views.login_view),里面""为空,后面login_view函数为(
def login_view(request):
return render(request, 'login.html')
)所以登录之后直接进入页面login.html)
后面输入信息后就是post请求通过函数
login_view_submit
来判断数据库中的信息来验证
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。