简介
Django 是由 Python 编写的一个开源 Web 应用框架,Django 采用了 MVC (即模型M,视图V和控制器C)构造的 Web 框架。Django 的主要目的是简便、快速的开发数据库驱动的网站
Django 的功能大而全,它提供的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。它有很多功能强大的第三方插件,可以使我们更快速、方便的开发一个网站。
安装与创建项目
pip安装的方式
pip3 install django
安装 Django 之后,在dos界面可以使用管理工具 django-admin,可以看到所有命令,里面可以进行项目的创建、服务启动等
创建项目
项目是 Django 实例的一系列相关设置的集合,它包含数据库配置、Django 特定选项以及应用程序的特定设置等
采用 django-admin startproject 项目名 进行项目的创建
django-admin startproject TestDjango
执行完后,会生成以下文件
目录结构说明
-
TestDjango:项目主目录
-
manage.py:一个实用的命令行工具,可让你以各种方式与该 Django 项目交互
-
TestDjango/__init__.py:空文件,Python 包的初始化文件
-
TestDjango/settings.py:该 Django 项目的配置
-
TestDjango/urls.py:路由文件,匹配不同的url链接,调用不同的视图函数处理
-
TestDjango/wsgi.py:一个 WSGI 兼容的 Web 服务器的入口,以便运行项目
启动项目
进入TestDjango目录,输入以下命令,启动TestDjango项目
python manage.py runserver 127.0.0.1:8080
如上所示服务启动完成。启动后命令行不能关闭
127.0.0.1:表示可连接到服务器的IP地址
8080:端口号(如果不指定,端口号默认为 8000)
浏览器访问 127.0.0.1:8080 ,出现以下界面即表示成功
项目配置与创建应用
项目配置
Django 是一个支持国际化和本地化的框架,如果我们想看到中文的界面 ,可以修改以下配置: 修改 TestDjango/settings.py 文件
# 设置语言代码
LANGUAGE_CODE = 'zh-hans'
刷新刚才的页面,页面会变为中文显示,如下图所示:
创建应用
每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以生成应用的基础目录结构。
项目与应用的关系
-
应用是一个专门做某件事的网络应用程序——比如评分系统
-
项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用,应用可以被很多个项目使用
以下示例将在 manage.py 同级目录下创建评分应用。这样就可以作为顶级模块导入。请确定你现在处于 manage.py 所在的目录下,然后运行这行命令来创建一个应用
python manage.py startapp score
视图配置
score应用下有一个 views.py的文件,里面就是存放我们编写的视图接口
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("这是一个评分系统!!!")
在score应用下新建 urls.py 的文件,操作如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然后还需要修改TestDjango 目录下的 urls.py,增加score 的路由映射配置,如下:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('score/', include('score.urls')),
path('admin/', admin.site.urls),
]
最后我们再访问网址 http://127.0.0.1:8080/score/, 就能访问到我们新创建的页面了,如下图:
include() 是干什么用的?
函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。
Django设计 include() 的理念是使其可以即插即用,当包括其它 URL 模式时你应该总是使用 include(), admin.site.urls 是唯一例外。
程序猿与投资生活实录已改名为 程序猿知秋,WX 公众号同款,欢迎关注!!