其实框架所有知识,都在Django官方文档上介绍的很详细,但是初学者如果直接看官方文档的话,难度系数太高,直接会把人劝退。我们一边看一边做项目熟悉知识,等差不多了再回头来看官方文档,必定事半功倍。
为了做项目,下面这些基础知识还是要先掌握的。
1. 创建项目
- 打开命令行,进入想要存储项目代码的目录,运行下面的命令:
django-admin startproject 项目名称
注意事项:项目名称要符合python标识符的规范,不能和内置的python和Django对象重名
- 查看目录下是否自动生成下面这些文件:
项目名称/ # 项目容器
manage.py
项目名称/ # 项目实际的python包
__init__.py # 空文件,表示这是python的包
settings.py
urls.py
asgi.py # 与ASGI兼容的Web服务器为您的项目提供服务的入口点
wsgi.py # 与WSGI兼容的Web服务器为您的项目提供服务的入口点
(1)manage.py :一个命令行使用程序。所有命令都可以通过它执行。
(2)settings.py:是项目的基本设置,比如资源存放路径、HTML模板路径,要加载的应用等,在启动时自动调用。常用配置有:
- BASE_DIR:自动动态绑定当前项目的绝对路径
- DEBUG:配置项目的启用模式。如果设置为True就必须配置ALLOWED_HOSTS
- ALLOWED_HOSTS:配置允许访问到本项目的网络地址,[]表示只有本机,["*"]表示任何网络地址,["*.com.cn",“www.XX.cn”]表示指定的网络地址
- TIME_ZONE:配置当前服务器的时区,“Asia/Shanghai”表示中国
- USE_TZ = False:不使用时区的应用,把此选项关了
- STATIC_URL:配置静态路由
- INSTALLED_APPS:指定当前项目中安装的应用列表
- TEMPLATES:指定模板的配置信息
- DATABASES:指定数据库的配置信息
- LANGUAGE_CODE:指定语言。“en-us"表示中文,"zh-hans"表示中文
(3)urls.py:路由配置器,相当于在浏览器输入各种url,最终指向哪个后台view函数,都是通过这个文件来建立映射。
2. 运行项目
进入项目目录,支持在命令行中运行下面的命令来启用服务:
python manage.py runserver # 默认8000端口运行
python manage.py runserver 8080 # 可以修改成其他端口运行
python manage.py runserver 0:8000 # 通过监听所有公共IP的方式运行(前提是在settings.py的ALLOWED_HOSTS设置为了["*"])
看到控制台打印服务启动成功的信息后,就可以使用http://127.0.0.1:8000访问项目了,看到默认界面就表示成功了。
自动重新加载
- python文件中的代码发生了变化,会自动重新加载,
- 添加了新的python文件,无法自动重新加载,这种就必须要重启服务。
3. 创建应用
进入项目所在目录后,在命令行执行下面的命令:
python manage.py startapp 应用名称
查看目录下是否生成了下面这些文件:
应用名称/
__init__.py
admin.py # 注册模型
apps.py
migrations/
__init__.py
models.py
tests.py # 编写测试函数
views.py # 编写视图函数
# 还需要自行创建一个urls.py来设置路由和视图函数的映射关系
(1)admin.py:管理Django后台的文件,我们如果想要在后台admin登录后看到数据库表都需要在这里注册。
(2)models.py:设计数据库表的,django采用orm方式和数据库进行交互,默认使用自带的sqlite3。
(3)views.py:视图逻辑层,用来和前端交互的。
(4)urls.py:把各种url和views.py中的函数对应起来的。这个是自行创建的。
(5)migrations:是用来存放我们orm操作数据库的实现代码的,完全是Django自动配置,不要动里面的文件。
(6)tests.py:单元测试用的。
(7)apps.py :暂时用不上。