第一个django项目
环境:
- Python 2.7.10
- Django 1.11.17
django管理工具
可以通过django-admin.py
/ django-admin
来管理django项目。
创建第一个django项目
$ django-admin startproject HelloWorld
$ cd HelloWorld
$ tree
.
├── HelloWorld
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1 directory, 5 files
目录说明:
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
接下来启动服务器:
$ python manage.py runserver 127.0.0.1:8001
127.0.0.1是本机地址,8001是指定的端口号,如果不指定,默认是8000.
浏览器打开127.0.0.1:8001
:
视图和URL配置
在创建的HelloWorld目录下的HelloWorld目录下,新建一个view.py文件,代码如下
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World !")
然后将urls.py更改如下
from django.conf.urls import url
from django.contrib import admin
from . import view # 导入view
urlpatterns = [
# url(r'^admin/', admin.site.urls), 注释掉
url(r'^$', view.hello), # 新增此行,代表指向view.py中的hello函数
]
启动项目后,在浏览器访问:
整个目录结构如下:
.
├── HelloWorld
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── view.py
│ ├── view.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── db.sqlite3
└── manage.py
我们也可以根据情况修改urls.py中的url正则匹配,比如:
url(r'^hello$', view.hello),
这样URL应该为127.0.0.1:8001/hello
URL函数
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
- regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
- view: 用于执行与正则表达式匹配的 URL 请求。
- kwargs: 视图使用的字典类型的参数。
- name: 用来反向获取 URL。