玩转django2.0学习笔记——编写URL规则

    URL (Uniform Resource Locator , 统一资源定位符〉是对可以从互联网上得到的 资源位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL , 用于指出文件的路径位置。简单地说, URL 就是常说 的网址,每个地址代表不同的网页, 在Django 中, URL 也称为URLconfo。

统一资源定位符(URL,英语baiUniform Resource Locator的缩写),它的英文简称叫做URL。也被称为网页地址,是因特网上标准的资源的地址。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的,现在它已经被万维网联盟编制为因特网标准RFC1738了。

URL以字符串的抽象形式来描述一个资源在万维网上的地址。一个URL唯一标识一个Web资源,通过与之对应的URL即可获得该资源。UR格式一般如下:

协议类型://服务器地址[:端口号]/路径/文件名[参数=值]

上述结构中[]部分是可选的。如果端口号与相关协议默认值(80)不同,则需包含端口号。其中协议类型包括HTTP,MAILTO,FILE,FTP等。利用HTTP协议访问万维网上的一个资源的URL形如:http://website.com/goods/search.phpterm-apple

其中website.com服务器,search.php是服务器端的一个脚本文件,之后紧跟脚本执行所需要的参数term,而apple为用户输入的对应term的参数值


3.1 URL编写规则

书中以如下目录为参考


image

个人的目录如下

image

在App 里添加urls.py 是将属于App 的URL 都写入到该文件中,而项目根目录的urls.py 是将每个App 的urls.py 统一管理。当程序收到用户请求的时候, 首先在根目录的urls.py 查找该URL 是属于那个App ,然后再从App 的urls.py 找到具体的URL 信息。在根目录的urls.py 编写URL 规则,如下所示:


from django.contrib import admin
from django.urls import path,include
 
urlpatterns = [
     path('admin/', admin.site.urls),
     path('',include('index.urls'))
 ]


上述代码设定了两个URL 地址, 分别是Admin 站点管理和首页地址。其中 admin站点管理是在创建项目时已自动生成, 一般情况下无须更改。 urls.py 的代码解释如下。


from django.contrib import admin 导入Admin 功能模块。

from django.urls import path,include  导入URL编写模块,注意两个函数,path和include

urlpatterns 整个项目的URL 集合,每个元素代表一条URL 信息。这里有两条地址,一条是admin的,另外一条是index的地址

path('admin/', admin.site.urls),  设定Admin 的URL o 'admin/ ' 代表 127.0.0.1 : 8000/ (端口号8000是由调用是命令决定的)地址信息, admin 后面的斜杠是路径分隔符; admin.site. urls 是URL 的处理函数,也称为视图函数。

path('',include('index.urls'))   URL 为空, 代表为网站的域名, 即127.0.0.1 :8000, 通常是网站的首页; include 将该URL 分发给APP”index “的urls .py 处理。


由于首页的地址分发给index 的urls.py 处理,因此下一步需要对index 的urls.py编写URL 信息, 代码如下:


from django.urls import path
from . import views

urlpatterns = [
     path('', views.index)
 ]


index 的urls.py 的编写规则与根目录的urls.py 大致相同, 基本上所有的URL 都是有固定编写格式的。上述代码导入了同一目录下的views.py 文件, 该文件用于编写视图函数, 处理URL 请求信息并返回网页内容给用户。因此, 在views.py 中编写 index 函数的处理过程, 代码如下:


from django.shortcuts import render 
from django.http import HttpResponse 
# Create your views here.
def index(request): 
    return HttpResponse("Hello World")

index 函数必须设置参数request ,该参数代表当前用户的请求对象, 该对象包含用户名、请求内容和请求方式等信息,视图函数执行完成后必须使用return 将处理结果返回,否则程序会抛出异常信息。启动MyDjango 项目, 在浏览器中打开 http://127.0.0.1 :8000/ , 运行结果如图所示。

image

注意,在运行的时候,如果是在服务器上应该使用

python manage.py runserver 0.0.0.0:8080  

1、要确保端口被开放

2、sitting.py中的 ALLOWED_HOSTS 设置为['*']

人在中年,一事无成,瞎学
原文地址:https://www.cnblogs.com/jilingxf/p/13302328.html