Django创建app

一个新建立的项目结构大概如下

mysite/

manage.py

mysite/

init .py

settings.py

urls.py

asgi.py

wsgi.py

各文件和目录解释:

  • 外层的mysite/目录与Django无关,只是项目容器,可以任意重命名.
  • manage.py:一个命令行工具,管理Django的交互脚本。
  • 内层的mysite/目录是真正的项目文件包裹目录,它的名字是引用内部文件的Python包名,例如:mysite.urls。
  • mysite/__init__.py:一个定义包的空文件。
  • mysite/settings.py:项目的配置文件。
  • mysite/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的目录。
  • mysite/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。
  • mysite/asgi.py:一个基于ASGI的web服务器进入点,提供异步的网络通信功能,通常不用关心。

启动开发服务器

回到mysite项目的根目录,也就是manage.py文件的同级目录下,输入下面的命令:

python manage.py runserver

Django提供了一个用于开发的web服务器,使你无需配置一个类似Ngnix的生产服务器,就能让站点运行起来。这是一个由Python编写的轻量级服务器,简易并且不安全,因此不要将它用于生产环境。

Django的开发服务器(以后简称服务器)默认运行在内部的8000端口,如果你想指定端口,请在命令中显示给出:

python manage.py runserver 8080

如果想修改服务器的ip地址,请按下面的方式运行命令,比如:

python manage.py runserver 0:8000

0 是 0.0.0.0 的简写,Django将运行在0.0.0.0:8000上,整个局域网内都将可以访问站点,而不只是是本机(这其中可能还需要做一些配置和网络测试)。

注意: Django的开发服务器具有自动重载功能,当你的Python代码有修改,服务器会在一个周期后自动更新。但是,有一些动作,比如增加文件,不会触发服务器重载,这时就需要你自己手动重启。所以建议,在任何修改代码的操作后,手动重启开发服务器,确保修改被应用。

PS: 重启服务器的操作在Pycharm里只需要简单地点击重启按钮即可。

创建应用

在 Django 中,每一个应用(app)都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构。

app应用与project项目的区别:

  • 一个app实现某个具体功能,比如博客、公共档案数据库或者简单的投票系统;
  • 一个project是配置文件和多个app的集合,这些app组合成整个站点;
  • 一个project可以包含多个app
  • 一个app可以属于多个project

app的存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级的目录下,这样方便导入文件。

进入mysite项目根目录,确保与manage.py文件处于同一级,输入下述命令:

python manage.py startapp polls

相关推荐
XXX-X-XXJ16 小时前
二:RAG 的 “语义密码”:向量、嵌入模型与 Milvus 向量数据库实操
人工智能·git·后端·python·django·milvus
闲人编程20 小时前
将你的Django/Flask应用部署到云服务器(Docker实战)
服务器·docker·容器·django·flask·部署·web
IT森林里的程序猿1 天前
基于机器学习方法的网球比赛胜负趋势预测
python·机器学习·django
kobe_OKOK_1 天前
Django ORM 字段查询表达式(Field lookup expressions)
后端·python·django
kobe_OKOK_1 天前
Django ORM 无法通过 `ForeignKey` 自动关联,而是需要 **根据父模型中的某个字段(比如 ID)去查询子模型**。
后端·python·django
濑户川2 天前
深入理解Django 视图与 URL 路由:从基础到实战
后端·python·django
江上月5132 天前
django与vue3的对接流程详解(下)
后端·python·django
万粉变现经纪人3 天前
如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
开发语言·python·r语言·django·beautifulsoup·pandas·pip
蓑笠翁0013 天前
Django REST Framework 全面指南:从模型到完整API接口开发
后端·python·django
B站_计算机毕业设计之家3 天前
python汽车数据分析可视化系统 爬虫 懂车帝 毕业设计 Django框架 vue框架 大数据✅
爬虫·python·数据分析·django·汽车·推荐算法·懂车帝