django 初学(一)
前言
Python Web框架 django的初步学习,通过学习django官网的第一个投票案例,来熟悉django的基本知识。
信息来源
https://docs.djangoproject.com/zh-hans/2.0/intro/tutorial01/
简介
Django是一个高级Python Web框架,鼓励快速开发和干净,实用的设计。由经验丰富的开发人员构建,它解决了Web开发的大部分麻烦,因此您可以专注于编写应用程序而无需重新发明轮子。它是免费和开源的。
安装
新建一个Django的路径,通过pipenv来获得一个干净的Python环境。
pipenv --python 3.7 # 指定Python 3.7作为虚拟环境的python版本
pipenv shell # 激活虚拟环境
pipenv install django # 安装django
pip list # 检查当前环境下python 已安装包的信息
使用
1.创建django项目
django-admin startproject mysite
命令执行成功后,会在当前目录下创建一个 mysite 目录
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
2.启动服务
将路径切换到外层的mysite下,执行以下命令:
python manage.py runserver
出现以下输出:
Performing system checks...
System check identified no issues (0 silenced).
You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 05, 2019 - 15:30:50
Django version 2.1.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
说明服务运行成功,访问https://127.0.0.1:8000/即可以看到正在运行的服务器页面。
更换端口:
python manage.py runserver 8080
更换ip:
python manage.py runserver 0:8000
3.创建投票应用
python manage.py startapp polls
运行成功后会生成目录polls/
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
4.编写第一个视图
编辑 polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
创建url映射文件polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在根url文件中指定polls.urls,编辑mysite/urls.py 文件
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
重新启动服务验证是否正常工作
python manage.py runserver
访问 http://localhost:8000/polls/,可以看到页面上显示"Hello, world. You're at the polls index."
path() 函数的用法:
两个必须参数:route 和 view,两个可选参数:kwargs 和 name
route, 匹配的网址路由信息
view,匹配到对应的路由信息后,django会调用对应的视图函数,并传入一个HttpRequest
对象作为第一个参数
kwargs, 任意个关键字参数可以作为一个字典传递给目标视图函数
name, 为url取名,可以利用url的name,来调用对应的url