pythondjango网页制作_Django创建网页--主页及模板

本文介绍了如何使用Django创建网页,包括定义URL、编写视图和模板。通过实例展示了如何创建主页、添加多个视图,并将内容从代码中分离到模板文件,实现动态显示ProjectInfo数据。最后,利用Django的render()函数优化了视图代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建主页

使用Django创建网页的过程通常分三个阶段:定义URL、编写视图和编写模板

每个URL都被映射到特定的视图,视图函数获取并处理网页所需的数据

2.编写更多视图

现在在views.py 里添加更多视图

from django.http import HttpResponse

# Create your views here.

def home(request):

return HttpResponse("Hello, Welcome to Home Page")

def project_list(request):

return HttpResponse('You\'re looking at the list of project list')

def register(request):

return HttpResponse('You\'re looking at the register page')

把这些新视图添加进 urls 模块里

# 作者:伊洛Yiluo 公众号:伊洛的小屋

# 个人主页:https://yiluotalk.com/

# 博客园:https://www.cnblogs.com/yiluotalk/

from django.urls import path

from . import views

urlpatterns = [

path('home/', views.home, name='index'),

path('project_list/', views.project_list, name='project list'),

path('register/', views.register, name='register'),

]

分别输入网址查看结果

e9331b2420fd0a3ab70d5d9ffea22342.png

64a57e9f18c2a74b68e8d7fdf7c552d1.png

67f0eb161e91532ed67b08f53f1830ce.png

3. 写一个真正有用的视图

每个视图必须要做的只有两件事:返回一个包含被请求页面内容的 [HttpResponse]对象,或者抛出一个异常,比如 [Http404]

回到views.py

之前我们在管理后台添加过project的数据

3d76e384396ffcc5b33bbf72347a7f7e.png

来修改一下主页的代码

from django.http import HttpResponse

from .models import ProjectInfo

# Create your views here.

def home(request):

project_list = ProjectInfo.objects.order_by('add_data')[:5]

output = ', '.join([q.project_name for q in project_list])

return HttpResponse(output)

def project_list(request):

return HttpResponse('You\'re looking at the list of project list')

def register(request):

return HttpResponse('You\'re looking at the register page')

打开网页查看

e2d79f59e660a0444476f580efe18183.png

内容已经成功的展示

4.模板

虽然上面实现了暂时页面,但是存在一个比较严重的问题。内容是写在代码里面的,这样不适合管理。下面创建一个视图,就可以将页面的设计从代码中分离出来

首先来创建一个templates 目录,用来存放静态文件,再创建一个目录 autoapi,然后在其中新建一个文件home.html

AutoPlarform Home

{% if project_list %}

{% for project in project_list %}

{{ project.project_name }}

{% endfor %}

{% endif %}

下面在更新下views.py

from django.http import HttpResponse

from django.template import loader

from .models import ProjectInfo

# Create your views here.

def home(request):

project_list = ProjectInfo.objects.order_by('add_data')[:5]

template = loader.get_template('autoapi/home.html')

context = {

'project_list': project_list,

}

return HttpResponse(template.render(context, request))

def project_list(request):

return HttpResponse('You\'re looking at the list of project list')

def register(request):

return HttpResponse('You\'re looking at the register page')

我们来打开主页查看下有没有效果

1316464cec066b07758e706c48a7b848.png

信息成功的显示在了主页上

5.一个快捷函数: render()

Django 提供了一个快捷函数,我们用它来重写views.py

from django.http import HttpResponse

from django.shortcuts import render

from .models import ProjectInfo

# Create your views here.

def home(request):

project_list = ProjectInfo.objects.order_by('add_data')[:5]

context = {'project_list': project_list}

return render(request, 'autoapi/home.html', context)

def project_list(request):

return HttpResponse('You\'re looking at the list of project list')

def register(request):

return HttpResponse('You\'re looking at the register page')

再次刷新主页查看一下效果

7e5c3273c6c5c23549380db44082497f.png

同刚才是一个效果

本文地址:https://blog.youkuaiyun.com/weixin_44386231/article/details/108258476

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值