安装Django
创建项目
django-admin startproject web
启动项目
进入到项目目录中,在manage.py文件的同级目录中,执行命令
python manage.py runserver
基本目录结构
wsgi.py web服务器网关接口,与http服务相关 settings.py 整个项目的配置文件写在这里 init.py 初始化文件,整个当做一个包 urls.py 根路由文件,决定用户输入什么样的地址来发出请求以及接收到请求后我怎么执行这个请求
创建应用
python manage.py startapp myhome migrations 迁移文件 admin.py 后台 apps.py 应用配置 models.py 关于模型、数据库 views.py 视图
输出一个hello word
第一步:在创建好的应用中,在myhome/views.py中编写函数,如果函数要对页面作出相应,request不能改动
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello Word!')
第二步:给当前的视图函数配置一个路由,创建myhome/urls.py
path函数接受的第一个函数是路由的请求规则,什么都不写就可以进入到第二个函数
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
第三步:在根路由中配置当前应用的路径,web/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myhome.urls')),
]
在项目中使用模板
修改 settings.py 模板引擎的配置目录 settings.py/TEMPLATES/DIRS
'DIRS': [os.path.join(BASE_DIR, 'templates')],
第一步:在 manage.py 的同级目录下创建 templates 文件夹
第二步:在模板文件夹中创建 模板文件
第三步:在视图函数中使用 模板文件 myhome/views.py
def func(request):
return render(request, 'a/ind.html')
在项目中使用静态文件(css,js,img…)
修改 settings.py 的配置目录 settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
第一步:在 manage.py 的同级目录下创建 static 文件夹
第二步:在静态文件夹中创建 静态文件
第三步:在模板文件夹中使用 静态文件 /static/js/1.js
当前的项目目录结构
\WEB
│ db.sqlite3
│ manage.py
├─myhome
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ __init__.py
│ ├─migrations
│ │ __init__.py
├─static
│ 1.css
├─templates
│ └─a
│ ind.html
└─web
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
相关的一些概念
路由:就是去定义用户访问时的url,并且把定义url路径和对应的视图函数产生映射 视图:就是一个函数或方法,也可以定义成类,主要就是用于接收用户的请求并且作出响应,项目中的主要逻辑代码都在视图函数中 模板:在Django框架中有一个模板引擎,可以做到把html和python逻辑代码分离,并且在视图函数中需要给用户响应模板时,返回或传递数据 静态文件:专门存放在模板中需要使用静态文件的目录,css, js, font, img, vido 模型:是专门处理数据层的,在Django框架中可以通过定义一个模型类,来实现对数据库中的数据进行管理(增删改查),在开发中对类中的数据进行的操作会映射到数据库,转化成对数据的具体执行
框架的设计思想(设计模式)
核心思想:就是把 逻辑代码,数据控制,和页面的展示完全分离。降低程序模块之间的藕合(低耦合,高内聚)
MVC 设计模式
M Model 模型 ==>数据层的管理 V View 视图 ==>模板的管理 页面的展示 C Controller 控制器 ==>逻辑代码的管理
MVT设计模式 (Django,Flask)
M Model 模型 ==>数据层管理,数据的增删改查 V View 视图 ==>逻辑层的管理,逻辑代码,流程控制…… T Template 模板 ==>模板的管理,页面的展示,HTML
|