MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制器)。其中:
M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
C——接受外部用户的 *** 作,根据 *** 作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。
V——负责把数据格式化后呈现给用户
pip install django==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple2.创建Django项目
在Terminal中创建login_reg项目
django-admin startproject login_reg
文件目录:
文件介绍:
- 进入manage.py同级包下创建Login应用
cd login_reg python manage.py startapp login
(二) 、配置项目 1.配置数据库
- 进入login_reg下的setting.py在INSTALLED_APPS中添加 ‘login’
- 进入Mysql Shell创建数据库register_info
create database register_info charset=utf8;
- 进入login_reg下的setting.py设置
- 在login_reg下的init.py文件添加:
import pymysql pymysql.install_as_MySQLdb()2.配置模型:
定义模型:打开login/models.py,编写如下:
from django.db import models # 定义用户名以及密码属性 class RegisterUser(models.Model): reg_mail = models.CharField(max_length=100, blank=False) reg_pwd = models.CharField(max_length=100, blank=False)
常见字段
生成迁移文件
python manage.py makemigrations
注意:如果报错AttributeError: ‘str’ object has no attribute ‘decode’…,将decode修改成encode
执行迁移文件
python manage.py migrate
启动开发服务器
Python manage.py runserver(三) 、编写视图函数
views.py
def index(request): return render(request, 'index.html')
urls.py
urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index)]
随即往templates中加入index.html文件即可…
项目本地部署讲解 (一) 、urls.py路由文件from django.contrib import admin from django.urls import path from login import views urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), path('game/', views.game), path('webwork/', views.webwork), path('excelwork/', views.excelwork), path('login/', views.login), path('registe/', views.register), path('str_one/', views.String_fun_one), path('str_two/', views.String_fun_two), path('str_three/', views.String_fun_three), path('str_four/', views.String_fun_four), path('webCode/', views.webCode), path('webExcel/', views.webExcel), path('weather/', views.find_weather), path('downExcel/', views.downExcel), path('', views.login), ]
admin/: 进入网站管理者(root)界面(django自带)
login/:用户登录界面,只有数据库webuser表中的已注册用户才能登录进入主页
registe/: 用户注册界面,在用户输入符合要求的注册信息后即可将数据输入数据库中,并返回登录界面
index/:进入网站主页,网站主页中可以自由进入到所有的功能界面
game/:进入game页面,在网页上实现飞机大战游戏
str_one/:进入字符串作业界面,输入两字符串即可串接字符串
str_two/:进入字符串作业界面,输入字符串即可去除字符串中的特殊字符
str_three/:进入字符串作业界面,进入生肖星座查询界面,输入出生时间即可查询对应信息
str_four/:进入字符串作业界面,到达验证码输入界面
weather/: 进入天气查询界面,输入城市调用爬虫爬取天气数据存入数据库中,并将其反馈到页面
webwork/:进入校园网自动登录作业展示界面,可在网页中观看作业演示的视频
excelwork/:进入校导师随机分配作业展示界面,可在网页中观看作业展示结果
downExcel/:运行导师随机分配代码,并将结果通过响应上传至前端下载
webCode/: 进入校园网自动登录作业的源码页面
webExcel/: 进入校园网自动登录作业的源码页面
(二) 、静态文件static / 模板文件templatesstatic文件夹主要存放的是css/img/js文件,主要存放了一些网页的样式文件,以及一些必要的图片。
templates主要存放的是html文件,通常由views视图函数返回数据后将html文件传给用户
!!!易踩坑: 当我们使用static存放静态文件时,经常会出现读取不了图片或css样式加载不出来等情况,此时一定要注意检查在settings.py中添加:STATIC_URL = '/static/' STATIC_ROOT = os.path.join(base_DIR, 'static') STATICFILES_DIRS = ( ('css', os.path.join(STATIC_ROOT, 'css').replace('\', '/')), ('img', os.path.join(STATIC_ROOT, 'img').replace('\', '/')), )
!!!同时要记得在我们的html文件的头部加上{% load staticfiles %},此时打开网页会优先读取静态资源,在后期部署云服务器效果更明显
!!!此时调用静态文件时,格式应变为src = “{% static ‘css/style.css’ % }”!!!form表单易错点:
评论列表(0条)