创建Django项目
django-admin startproject projectname
创建app
python manage.py startapp appname
注册app
打开settings.py在INSTALLED_APPS里面添加上以下代码:
'userapp.apps.UserappConfig',
注释掉csrf
打开settings.py文件找到以下代码并注释掉csrf
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', # 注释以便form表单提交测试
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Django项目使用MySQL数据库
1、在Django项目的settings.py文件中配置数据库信息:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎,类型
'NAME': '数据库名称',
'USER': '用户名',
'PASSWORD': '密码',
'HOST': '地址',
'POST': 3306,
}
}
2、在与Django项目同名的目录下的__init__.py文件中写如下代码,告诉Django使用pymysql模块连接MySQL数据库:
import pymysql
pymysql.install_as_MySQLdb()
创建数据库
create database name;
使用orm操作数据库
1、项目的app目录下找到models.py文件写入以下代码:
from django.db import models
# Create your models here.
class User(models.Model):
user = models.CharField(max_length=32) # 用户名 charset(32)
password = models.CharField(max_length=32) # 密码 charset(32)
2、数据迁移,需要自己手动创建好对应的数据库;在Terminal终端中输入迁移命令:
python manage.py makemigrations # 生成迁移记录文件
python manage.py migrate # 迁移
执行完命令后Django会帮我们创建相应的数据表
3、自行添加几条数据用于登录测试。
配置静态文件路径
1、在项目的根目录下创建一个static目录用于存放静态文件。
2、在Django项目的settings.py文件中添加如下代码,设置静态文件的别名和静态文件的路径。一个项目中可以添加多个静态文件路径,依次往下查找。
STATIC_URL = '/static/' # 静态文件别名
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
注意:在引用静态文件时需要以别名开头,示例如下:
<link rel="stylesheet" href="/static/css/style.css">
创建登录页面
1、在项目的templates目录下创建login.html和index.html文件。
- login.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="" method="post">
密码:<input type="text" name="username" id="" placeholder="请输入账号">
密码:<input type="password" name="password" id="" placeholder="请输入密码">
<button type="submit">登录</button>
</form>
</body>
</html>
编写登录函数
1、在项目app目录下的views.py文件中编写登录对应的函数,代码如下:
from django.shortcuts import render
from django.shortcuts import redirect # 重定向
from userapp.models import *
# Create your views here.
# index 函数
def index(request):
return render(request, 'index.html')
# 登录函数
def login(request):
# 1、判断浏览器的请求方式
if request.method == 'POST':
# 2、post请求,获取浏览器提交过来的数据
username = request.POST['b_username'] # b_username 为浏览器提交过来的name字段
password = request.POST['b_password'] # b_password 为浏览器提交过来的name字段
# 拿到浏览器提交的数据后与数据库中的用户名和密码做比较,需要导入models
if User.objects.filter(user=username, password=password):
# 有数据返回则表示登录成功,重定向到首页
return redirect('/index/')
# get请求或者登录失败都返回登录页面进行重新登录
return render(request, 'login.html')
2、在与项目同名的目录下的urls.py文件中添加上函数与url的对应关系:
from django.conf.urls import url
from django.contrib import admin
from userapp.views import *
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', index),
url(r'^login/', login),
]
启动项目
1、终端启动,进入到项目目录下执行以下命令:
python manage.py runserver
2、pycharm启动,点击菜单栏中的Run,在点击Run ‘projectname’或者直接点击右上角的三角形图标。
登录测试
1、启动项目后再浏览器中输入:127.0.0.1:8000/login回车即可进入到登录界面,输入用户名和密码点击提交,如果账号密码正确就会重定向到首页,如果登录失败则返回登录页面重新登录。