django项目的创建
一. 创建Django项目
1. 创建虚拟环境,进入虚拟环境(虚拟环境创建在其他文章中有)
workon py3_django
2. 安装django包
pip install django==1.11.11
说明:安装时可能报错,需要使用豆瓣代理:
pip install -i https://pypi.douban.com/simple django==1.11.11
3. 进入想要创建项目的目录下创建项目
创建项目命令:
django-admin startproject 工程名称
创建bookmanager项目命令如下:
django-admin startproject bookmanager
创建完后进入项目目录:
└─manage.py
│
└─bookmanager
settings.py
urls.py
wsgi.py
__init__.py
说明:
- 与项目同名的目录,此处为bookmanager。
- settings.py是项目的整体配置文件。
- urls.py是项目的URL配置文件。
- wsgi.py是项目与WSGI兼容的Web服务器入口。
- manage.py是项目管理文件,通过它管理项目。
二. 运行开发服务器
在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。
运行服务器命令如下:
python manage.py runserver ip:端口
或:
python manage.py runserver
说明:
- 可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
- 启动可能报错:SyntaxError: Generator expression must be parenthesized (widgets.py, line 152) 原因:由于django 1.11版本和python3.7版本不兼容, 2.0版本以后的Django修复了这个问题,解决方法:找到指定文件:D:\work\Envs\py3_django\Lib\site-packages\django\contrib\admin\widgets.py (linux则在对应的linux目录中)删除152行最后的“,” ,再次启动即可成功
if params: related_url += '?' + '&'.join( '%s=%s' % (k, v) for k, v in params.items() //最后本来有个逗号,删掉 )
3. 启动后,在浏览器中输入网址“127.0.0.1:8000”便可看到效果。
4. django默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。
5. 按ctrl+c停止服务器。
创建子应用
在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。
在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint。
Django的视图编写是放在子应用中的。
1. 创建子应用:
python manage.py startapp 子应用名称
也可以:
django-admin startapp 子应用名称
说明:
- django-admin ... 相当于 python manage.py ...
- manage.py为上述创建工程时自动生成的管理文件。
例如,创建book模块:
cd ~/code/book # 进入项目所在目录
python manage.py startapp book # 创建book子应用模块
说明:
- 创建完成后项目目录下多了book目录:
. ├── book │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── bookmanager │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── settings.cpython-38.pyc │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py
book目录结构说明:
- admin.py文件跟网站的后台管理站点配置相关。
- apps.py文件用于配置当前子应用的相关信息。
- migrations目录用于存放数据库迁移历史文件。
- models.py文件用户保存数据库模型类。
- tests.py文件用于开发测试用例,编写单元测试。
- views.py文件用于编写Web应用视图。
2. 在pycharm 中打开项目并注册子应用
2.1 用pycharm打开项目,并配置解释器为虚拟环境的解释器
2.2 在工程配置文件settings.py的INSTALLED_APPS列表中注册子应用
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中, 这里注册book即是在列表中添加项:
book.apps.BookConfig
说明:
- 这里注册实际上注册的是子应用的路径,book.apps.BookConfig实际上是指向book下apps.py中的BookConfig,代码是这样:
class BookConfig(AppConfig): name = 'book'
这里的name属性值可以理解为子应用所在目录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构