一、启动前注意事项

  1. 计算机的名称,以及文件路径不要出现中文;(编码问题)
  2. 一个窗口只开启一个 Django 项目;
  3. python 解释器尽量使用 3.4~3.6 版本;

Django 下载版本推荐 1.11 版本

django-admin

二、Django 项目创建与启动

2.1 命令行方式

创建Django项目

django-admin startproject 项目名

Windows 电脑会默认在 C 盘中创建

可以在命令行中先切换路径,再创建。注意路径中尽量不要包含中文

templatessettings.py

具体处理方式参照下方 PyCharm 创建的方法

 
文件中包含的内容

文件作用介绍
  • manage.py

入口文件

项目文件夹

  • setting.py

配置文件

  • urls.py

路由与视图函数对应关系(路由层,路由分发)

  • wsgi.py

wsgiref 模块(不用考虑)

 

启动Django项目

启动前首先要切换到项目的路径

python3 manage.py runserver IP+端口

python3 这里要注意自己的 python 解释器的版本

IP+端口:可以为空,默认为本机的127.0.0.1 的 IP 端口就是 8000;


 

创建应用

python3 manage.py startapp 应用名

注意路径要保证是 Django 项目的根目录

文件作用介绍
  • database.sqlite3

Django 自带的sqlite3数据库

应用文件夹

  • admin.py

Django 后台管理

  • apps.py

注册使用

  • migrations 文件夹

可以看成sqlite3数据库操作的日志文件夹,里面存放的是数据库迁移记录

  • models.py

数据库相关的 模型类( orm )

  • test.py

测试文件,没什么用途

  • views.py

视图函数—视图层

 

2.2 PyCharm 方式

创建Django项目

与命令行创建项目方式的区别

创建成功后与命令行方式创建对比

templatessettings.py

相当于:

'DIRS': [os.path.join(BASE_DIR , 'templates')],
templates
Application name

启动Django项目

创建应用

方式一:命令行方式创建,pycharm 自带有Terminal

方式二:PyCharm 工具栏 Tools–Run Manage.py Task

startapp 应用名

三、静态文件配置

templatesstatic

静态文件:前端已经写好的,能够直接调用的文件

已经写好的网站 js 文件、CSS 文件、图片文件、第三方的前端框架

static
staticother

3.1 静态文件资源接口配置

urls.py

静态文件资源的配置就不需要那么麻烦!

settings.py
# 拼接 static 文件夹路径,并且放入列表中
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static'),
  os.path.join(BASE_DIR, 'static1'),
  os.path.join(BASE_DIR, 'static2'),
]

3.2 静态文件接口请求原理

settins.pySTATIC_URL
STATIC_URL = '/static/'
'/static/'static
STATICFILES_DIR
STATIC_URL'/static/''/static/'URL 路径'/static/'STATICFILES_DIR
STATIC_URL

3.3 静态文件实例

settins.py
STATIC_URL = '/static/'

STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static'),
  os.path.join(BASE_DIR, 'static1'),
  os.path.join(BASE_DIR, 'static2'),
]
statica.txt
from static
static1a.txt
from static1
static2a.txt
from static2

启动 Django 项目,并且请求资源

调换一下顺序, 并且修改一下令牌

STATIC_URL = '/xxx/'

STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static2'),
  os.path.join(BASE_DIR, 'static1'),
  os.path.join(BASE_DIR, 'static'),
]

3.4 HTML 文件动态解析静态文件路径

STATIC_URL

动态解析语法

	{% load static %}
	<link rel="stylesheet" href="{% ‘ 文件名 ’ %}">
	<script src="{% ‘ 文件名 ’ %}"></script>
STATICFILES_DIRS

四、常见问题

4.1 TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str

TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str‘ 

报错提示:

解决方法:

点击最后一行的报错信息,定位

/,

4.2 PyCharm 修改已经生成的 Django 项目的端口


4.3 后端代码修改了,但是前端页面没有任何变化

有可能,同一个端口开启了好几个项目。比如用命令行和 pycharm 分别开启了,但是pycharm 的代码修改了,依然是按照命令行的方式运行的,所以保证一个项目不要同时被开启

最为常见的还是浏览器缓存的情况了

右键-检查

勾选上之后,只要再次打开控制台时,点击页面刷新就会清除浏览器的缓存