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

相关推荐
咖啡调调。29 分钟前
模板引擎语法-算术运算
python·django·sqlite
程序媛徐师姐6 小时前
Python基于Django的全国二手房可视化分析系统【附源码】
python·django·全国二手房可视化分析系统·二手房可视化分析系统·二手房房价可视化·二手房可视化·二手房房价可视化分析系统
__淡墨青衫__19 小时前
Django之旅:第七节--模版继承
数据库·django·sqlite
橘猫云计算机设计20 小时前
net+MySQL中小民营企业安全生产管理系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·后端·爬虫·python·mysql·django·毕业设计
懵逼的小黑子1 天前
django.db.utils.OperationalError: (1050, “Table ‘你的表名‘ already exists“)
django
Bruce-li__1 天前
使用Django REST Framework快速开发API接口
python·django·sqlite
小兜全糖(xdqt)1 天前
python 脚本引用django中的数据库model
python·django
シ風箏1 天前
Django【应用 01】django-plotly-dash安装及使用
plotly·django·dash
小杰love编程1 天前
Django 入门指南:构建强大的 Web 应用程序
前端·django·sqlite
俺的图图呢?1 天前
Django笔记——CSRF
笔记·django·csrf