初始Django
- Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
- Django是一个开放源代码的Web应用框架,由Python写成。
版本对照
- https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
pip 安装
pip install django
运行第一个Helloworld
- 切换到代码目录下 (E:\python_code\DG)
- 查看django-admin命令参数
E:\python_code\DG>django-admin
Type 'django-admin 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
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You mu
st either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).
E:\python_code\DG>
切换到代码目录,运行命令,自动新建出代码框架,这很爽。
E:\python_code\DG>django-admin startproject Helloworld
E:\python_code\DG>tree /f
- 启动服务
python manage.py runserver # 默认端口为8000
- 指定端口80启动服务
python manage.py runserver 0.0.0.0:80
- 总结三步
# django-admin startproject Helloworld
# cd Helloworld
# python manage.py runserver
打印 helloworld
- 在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
# HelloWorld/HelloWorld/view.py 文件:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
- 接着,绑定 URL 与视图函数。打开 urls.py 文件,删除或注释原来代码,将以下代码复制粘贴到 urls.py 文件中
# HelloWorld/HelloWorld/urls.py 文件
from django.conf.urls import url
from . import view
urlpatterns = [
url(r'^$', view.hello),
]
- 整个目录结构如下:
- 启动服务
python manage.py runserver 0.0.0.0:80
path()函数
path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
path(route, view, kwargs=None, name=None)
-
route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
-
view: 用于执行与正则表达式匹配的 URL 请求。
-
kwargs: 视图使用的字典类型的参数。
-
name: 用来反向获取 URL。
通过path函数修改规则,指定路由
# HelloWorld/HelloWorld/urls.py 文件修改为:
from django.urls import path
from . import view
# 通过127.0.0.1:80/test/ 会访问到view.hello函数
urlpatterns = [
path('test/', view.hello),
]
可以看到原127.0.0.1:80已经404,而127.0.0.1:80/test/正常访问状态码200