本文实例讲述了Django框架创建项目的方法。分享给大家供大家参考,具体如下:
Django 管理工具
安装 Django 之后,就有了可用的管理工具 django-admin.py。我们可以使用 django-admin.py 来创建一个项目:
我们可以来看下django-admin.py的命令介绍:
Type 'django-admin.py help <subcommand>' for help on a specific subcommand. Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver
创建项目
使用 django-admin.py 来创建 djangoPro 项目:
django-admin.py startproject djangoPro
最新版的 Django 请使用 django-admin 命令:
django-admin startproject djangoPro
创建完成后项目的目录结构:
$ cd djangoPro/
$ tree
.
|-- HelloWorld
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
目录说明:
- djangoPro: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- djangoPro/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- djangoPro/settings.py: 该 Django 项目的设置/配置。
- djangoPro/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- djangoPro/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
接下来我们进入 djangoPro 目录输入以下命令,启动服务器:
python3 manage.py runserver 0.0.0.0:8000
0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:
视图和 URL 配置
在先前创建的djangoPro 目录下的 djangoPro 目录新建一个 view.py 文件,并输入代码:
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ")
接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
from django.conf.urls import url from . import view urlpatterns = [ url(r'^$', view.hello), ]
也可以修改以下规则:
from django.conf.urls import url from . import view urlpatterns = [ url(r'^hello$', view.hello), ]
注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。
url() 函数
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
- regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
- view: 用于执行与正则表达式匹配的 URL 请求。
- kwargs: 视图使用的字典类型的参数。
- name: 用来反向获取 URL。
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
Django框架创建项目的方法入门教程
- Author -
苍青浪声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@