目录
一、Django概述
Django框架将这个工作过程细分为如下四层去实现
1、路由层(根据不同的地址执行不同的视图函数,详见urls.py)
2、视图层(定义处理业务逻辑的视图函数,详见views.py)
3、模型层 (跟数据库打交道的,详解models.py)
4、模板层(待返回给浏览器的html文件,详见templates)
二、初识Django
1. 注意事项
计算机名称不能有中文
python解释器不要使用3.7版本 推荐使用版本3.4~3.6
一个pycharm窗口 只能跑一个项目
2. 版本问题
django版本以1.11.11为主(1.11.9~1.11.13)
3. 如何检验django是否安装成功
命令行敲 django-admin
4. 命令行创建项目
-
创建django项目
django-admin startproject 项目名(例如mysite)
-
启动django项目
切换到项目文件夹下
python3 manage.py runserver
python3 manage.py runserver 127.0.0.1:8080
-
创建应用(django支持多app开发)
python3 manage.py startapp app01
注意:
不会自动帮你创建templates文件夹
配置文件中不会自动帮你书写templates文件路径
5. app的概念
django是一个以开发app为主要功能的web框架
app就是application应用的意思
一个django项目就是一所大学(空的架子 本身没有任何功能)
而app就类似于大学里面的各个学院
一个空的django本身没有任何作用 仅仅是为app提高前期的环境配置
你可以根据功能的不同 开发多个app
一个app对应一个具体的功能模块
用户相关的功能 用户相关的app
订单相关的功能 订单相关的app
商品相关的功能
商品相关的app每一个app都有自己独立的功能
注意:
创建好的app需要在django配置文件中注册方可生效
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#'app01' # 简便写法
'app01.apps.App01Config' # 最完整的写法
]
6. pycharm创建项目
1.创建应用的时候 可以使用简便方式
Tools >>> run manage.py task
2.一定要确保同一个端口
同一时间只能启一个django项目
3.配置文件中针对templates文件夹的路径 如果是空的需要你手动配置
TEMPLATES = [{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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', ],
},
},
]
7. django文件功能
django项目名
项目同名的文件夹
settings.py 暴露给用户可以配置的配置文件
urls.py 路由与视图函数对应关系
manage.py django的入口文件
应用名文件夹
migrations文件夹 所有数据库相关的操作记录
admin.py django admin后台管理
apps.py 注册app使用
models.py 放所有数据库相关的模型类
tests.py 测试文件
views.py 处理业务逻辑的视图函数
8. django小白必会三板斧
- HttpResponse 返回字符串
- render 返回html文件,可以给html页面传值
def login(request):
user_dic = {'username':'jason','password':'123'}
return render(request,'login.html',{'xxx':user_dic})
- redirect 重定向
1.直接写你本网站的路径后缀
2.也可以全路径
def home(request):
#return redirect('/login') # 重定向
return redirect('https://www.baidu.com') # 重定向
注意
django默认是自动重启的
重启机制
内有检测机制 实时检测所有文件的变化
有时候会产生 你代码还没写完 就自动重启报错的情况 不用管
每次写完代码之后 自己手动重启