有关Django的smallDemo

注:

  电脑为Mac,Python解释器为3.5.4

  数据库使用的是pymysql模块代替mysqldb

功能:

  运行服务器,在login登录界面输入用户名和密码,post到服务器,

  通过数据库判断用户名和密码是否正确。

前期准备工作:

step1:

  新建一个Django项目,并为你的APP取贴合实际功能的名字:

填写好后,选择create

step2:

  在根目录下新建一个static文件,里面放css js image plugins,这是网页的一些样式和插件

step3:

新建好了以后,将setting.py文件中最后加入:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
]

并将标红的那句话暂时注释

step5:

提前在Python解释器中下载好pymysql

将与项目同名的文件夹下的__init__.py文件下加入:

import pymysql
pymysql.install_as_MySQLdb()

step6:

将setting.py文件下 的 DATABASES 字段改成:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '', #数据库名称
        'USER':'', #用户名
        'PASSWORD':'', #密码
        'HOST':'127.0.0.1', # 主机名
        'POST':3306, #端口号
    }
}

项目相关代码:

有关登录页面:

login.html文件写在:templates文件下

login.html

sign.css文件写在static/css文件下:

body {
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #eee;
}

.form-signin {
  max- 330px;
  padding: 15px;
  margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}
.form-signin .checkbox {
  font-weight: normal;
}
.form-signin .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}
.form-signin .form-control:focus {
  z-index: 2;
}
.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
sign.css

有关数据库:

在APP名字下面models文件中:

from django.db import models

# Create your models here.
class Userinfo(models.Model):
    user = models.CharField(max_length=32)
    pwd = models.CharField(max_length=32)
models

使用Tools下的 Run Manage.py Task

打开后依次输入命令:

makemigrations
migrate

如果一切OK的话,就会看到存在一个APP名字开头的表:

在表里添加一些数据用于验证登录信息

验证部分:

在APP名字下的views文件中写入:

from django.shortcuts import HttpResponse,render,redirect
from login_in import models

def index(request):
    return render(request,'index.html')

def login(request):
    if request.method == 'POST':
        # 取出输入的用户名和密码
        user = request.POST.get('user')
        pwd = request.POST.get('pwd')
        # 从数据库中取出所有数据,进行登录校验
        all = models.Userinfo.objects.all()
        for mes in all:
            if user == mes.user and pwd == mes.pwd:
                return HttpResponse('success')
        else:
            return HttpResponse('fail')
    return render(request,'login.html')
views文件

在urls文件中:

from login_in import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/',views.login),
]
原文地址:https://www.cnblogs.com/LYliangying/p/9593367.html