命名 URL:
test.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method="post"> <input type="text" name="username" value=""> <input type="submit" name="提交"> </form> <a href="/json_test/" rel="external nofollow" >json 数据</a> </body> </html>
urls.py:
from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^test/', views.test), url(r'^json_test/', views.json_test), ]
如果 urls.py 中的 json_test/ 路径发生改变,test.html 中的地址也要改
可以使用反向 url 解析,给 json_test/ 起一个别名
urls.py:
from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^test/', views.test), url(r'^json_test/', views.json_test, name="json"), # 给该 url 匹配命名为 json ]
test.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method="post"> <input type="text" name="username" value=""> <input type="submit" name="提交"> </form> <a href="{% url 'json' %}" rel="external nofollow" >json 数据</a> </body> </html>
这时候如果修改 urls.py 中的 json_test/ 路径,就不需要再去修改 test.html
反向解析 URL:
如果需要重定向这样的路径的话,可以在 views.py 中这样写:
from django.shortcuts import render, redirect from django.urls import reverse # json 测试 def json_test(request): hobby = ["Music", "Movie", "Basketball", "Reading"] from django.http import HttpResponse, JsonResponse return JsonResponse(hobby, safe=False) def test(request): return redirect(reverse("json")) # 通过 json 反向得到路径 json_test/
访问:http://127.0.0.1:8000/test/ 就变成访问:http://127.0.0.1:8000/json_test/
如果 url 需要传参数的话:
urls.py:
from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^test/', views.test), url(r'^json_test/(?P<id>[0-9]{2,4})/(?P<title>[a-zA-Z]+)/', views.json_test, name="json"), ]
test.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method="post"> <input type="text" name="username" value=""> <input type="submit" name="提交"> </form> <a href="{% url 'json' 12 'abcd' %}" rel="external nofollow" >json 数据</a> </body> </html>
访问:http://127.0.0.1:8000/test/
点击 “json 数据”
反向解析需要参数的话:
urls.py:
from django.conf.urls import url, include from app01 import views urlpatterns = [ url(r'^test/', views.test), url(r'^json_test/(?P<id>[0-9]{2,4})/(?P<title>[a-zA-Z]+)/', views.json_test, name="json"), ]
views.py:
from django.shortcuts import HttpResponse, redirect from django.urls import reverse def json_test(request, id, title): print("id: ", id) print("title: ", title) return HttpResponse(id+"----"+title) def test(request): return redirect(reverse("json", kwargs={"id": 23, "title": "aaaa"}))
访问:http://127.0.0.1:8000/test/
跳转到了:http://127.0.0.1:8000/json_test/23/aaaa/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍django反向解析URL和URL命名空间的方法,包括了django反向解析URL和URL命名空间的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了django反向解析URL和URL命名空间,分享给大家,具体如下: 首先明确几个概念: 1.在html页面上的内容特别是向用户展示的url地址,比如常见的超链接,图片链接等,最好能动态生成,而不要固定. 2.一个django项目中
我目前正在编写一个spring boot REST API,希望对中定义的URL进行反向解析。在Django web框架中,有一种方法可以做到这一点:反向。但我没能为spring boot找到这样的东西。 我正在寻找这样的东西: 这样的东西存在吗?我怎么用?
本文向大家介绍django反向解析和正向解析的方式,包括了django反向解析和正向解析的方式的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Django的正向解析和反向解析,分享给大家,具体如下: 先创建一个视图界面 urls.py index.html index页面加载的效果 正向解析 所谓正向解析就是直接在这里写地址 向urls.py里面一样 例如: test/p1/p2 反向
URL提供了一种统一访问资源的方式。我们来看一下Go里面如何解析URL。 package main import "fmt" import "net/url" import "strings" func main() { // 我们将解析这个URL,它包含了模式,验证信息, // 主机,端口,路径,查询参数和查询片段 s := "postgres://user:pass@h
urllib.parse — Split URLs into Components 解析 # urllib_parse_urlparse.py from urllib.parse import urlparse url = 'http://netloc/path;param?query=arg#frag' parsed = urlparse(url) print(parsed) # urlli
问题内容: 有没有最简单的方法来从URL解析JSON?我使用Gson找不到任何有用的示例。 问题答案: 首先,您需要下载URL(作为文本): 然后您需要解析它(这里有一些选项)。 GSON(完整示例): 输出: