Django入门教程(四):URL跳转,URL重定向,redirect函数,图片插入
程序员文章站
2022-03-25 11:14:53
...
大家好我是连人,这一期我们分享url跳转的相关问题。
相对路径和绝对路径
首先我们要了解这个概念:
相对路径:相对于文件夹下的路径,假设A文件夹下有B,B文件夹下有C,那么C的路径就可以写作"…/B/C"
绝对路径:以硬盘为起点的路径,假设上例在D盘中,则C的路径为D:\A\B\C
斜杠的方向是不一样的
使用a标签的href进行url跳转
为了下面一期用户登录和注册省事我直接把html命名为登录和注册了
home.html:
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<a href="../login">login</a>
<a href="../register">register</a>
</body>
</html>
login.html
<!DOCTYPE html>
<html>
<head>
<title>login</title>
</head>
<body>
<a href="../">back to home</a>
<a href="../register/">go to register</a>
</body>
</html>
register.html
<!DOCTYPE html>
<html>
<head>
<title>register</title>
</head>
<body>
<a href="../">back to home</a>
<a href="../login/">go to login</a>
</body>
</html>
views.py
def home(request):
return render(request, 'Home.html')
def login(request):
return render(request, 'Login.html')
def register(request):
return render(request, 'Register.html')
urls.py
from django.contrib import admin
from django.urls import path
from CSDN import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home),
path('login/', views.login),
path('register/', views.register),
]
这个很简单,大家脑内调试都应该知道结果
这种写法不仅可以用a标签实现,还可以有button按钮,js中的window.location.href,xmlhttp等实现
redirect函数
在views.py中加入这个函数
from django.shortcuts import redirect
def gohome(request):
return redirect('/')
然后再在urls.py中添加路由
path('gohome/', views.gohome),
现在试验一下,输入127.0.0.1:8000/gohome会发生什么吧
(就算不用试验我觉得也能猜出来会发生什么)
如果想要跳转到例如register非主页页面
return redirect('../register')
redirect没法传参,请注意
图片的src属性
和url的规定一样,图片的存储位置是真正意义上的“路径”,而不是网页的相对的url。
(这里简单解释下,本地是127.0.0.1:8000,你在href中写127.0.0.1:8000当然没问题,但是一旦你的项目上了服务器,服务器的ip地址不会是127.0.0.1,你开放的端口也不一定是8000,这个时候如果写127.0.0.1:8000是不会成功的)
在前端的body标签内加入下面代码,注意先要向static下的images文件夹里加入你想要的图片。
<img src="../static/images/LogIn1.jpg" />
然后再进入加了这段代码的页面
YA✰TA✰ZE
转载注明出处