分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

django框架----django 模型 ?URL配置 ?视图函数

发布时间:2023-09-06 01:29责任编辑:苏小强关键词:配置django

下载Django

创建一个项目

在命令行中,使用 cd 命令进入你想存储代码所在的目录,然后运行以下命令:

django-admin.py startproject mysite

 

 让我们来看看 startproject 都创建了些什么:

mysite/ ???manage.py       #一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 ???mysite/ ???????__init__.py ???????settings.py ????#Django 项目的设置/配置 ???????urls.py      #Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录” ???????wsgi.py ?     #一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目

运行Django项目

启动命令:

1
python manage.py runserver

这样就已经启动了 Django 开发服务器,一个纯粹的由 Python 编写的轻量级 Web 服务器。我们在 Django 内包含了这个服务器,这样你就可以迅速开发了,在产品投入使用之前不必去配置一台生产环境下的服务器 – 例如 Apache,Nginx。

现在是一个很好的提示时机:不要 在任何类似生产环境中使用此服务器。它仅适用于开发环境。(我们提供的是 Web 框架的业务,而不是 Web 服务器。)

现在服务器正在运行中,请在你的 Web 浏览器中访问 http://127.0.0.1:8000/ 。 你会看到一个令人愉悦的,柔和的淡蓝色 “Welcome to Django” 页面。它工作正常!

默认情况下,runserver 命令启动的开发服务器只监听本地 IP 的 8000 端口。如果你想改变服务器的端口,把它作为一个命令行参数传递即可。例如以下命令启动的服务器将监听 8080 端口:

python manage.py runserver 8080

创建应用

你通过 Djaong 编写的每个应用都是由 Python 包组成的,这些包存放在你的 Python path 中并且遵循一定的命名规范。 Django 提供了个实用工具可以自动生成一个应用的基本目录架构,因此你可以专注于编写代码而不是去创建目录。

 

创建应用命令:

python manage.py startapp polls

这将创建一个 polls 目录,其展开的样子如下所示:

polls/ ???__init__.py ???models.py ??????????tests.py ????????????views.py
 

URL配置

为了给一个应用设计URL,你需要创建一个Python 模块,通常称为URLconf(URL configuration)。这个模块是纯粹的Python 代码,包含URL 模式(简单的正则表达式)到Python 函数(你的视图)的简单映射。

简单的 URLconf

from django.conf.urls import urlfrom . import viewsurlpatterns = [ ???url(r‘^articles/2003/$‘, views.special_case_2003), ???url(r‘^articles/([0-9]{4})/$‘, views.year_archive), ????????????????????????????#相当于调用 year_archive(request,year) ???url(r‘^articles/([0-9]{4})/([0-9]{2})/$‘, views.month_archive), ???url(r‘^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$‘, views.article_detail), ??????????]

命名组

上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图。在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。

在Python 正则表达式中,命名正则表达式组的语法是(?P<name>pattern),其中name 是组的名称,pattern 是要匹配的模式。

下面是以上URLconf 使用命名组的重写:

from django.conf.urls import urlfrom . import viewsurlpatterns = [ ???url(r‘^articles/2003/$‘, views.special_case_2003), ???url(r‘^articles/(?P<year>[0-9]{4})/$‘, views.year_archive), ???url(r‘^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$‘, views.month_archive), ???url(r‘^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$‘, views.article_detail),]

这个实现与前面的示例完全相同,只有一个细微的差别:捕获的值作为关键字参数而不是位置参数传递给视图函数。例如:

/articles/2005/03/ ???请求将调用views.month_archive(request, year=‘2005‘, month=‘03‘)函数,
?????????????????????而不是views.month_archive(request, ‘2005‘, ‘03‘)。/articles/2003/03/03/ 请求将调用函数views.article_detail(request, year=‘2003‘, month=‘03‘, day=‘03‘)。

在实际应用中,这意味你的URLconf 会更加明晰且不容易产生参数顺序问题的错误 —— 你可以在你的视图函数定义中重新安排参数的顺序。当然,这些好处是以简洁为代价;有些开发人员认为命名组语法丑陋而繁琐。

 

视图函数

一个视图函数,或者简短来说叫做视图,是一个简单的Python函数,它接受web请求,并且返回web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。

render方法

结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。

1
render(request, template_name,[context])

redirect方法

1
redirect(to, [permanent=False, ]*args, **kwargs)

为传递进来的参数返回HttpResponseRedirect 给正确的URL 。

django框架----django 模型 ?URL配置 ?视图函数

原文地址:http://www.cnblogs.com/big-handsome-guy/p/7993146.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved