欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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" />

然后再进入加了这段代码的页面

Django入门教程(四):URL跳转,URL重定向,redirect函数,图片插入
YA✰TA✰ZE

转载注明出处