热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

初学Django:创建第一个项目+使用模板

1.创建一个项目之前在Anaconda3里面用命令行安装了Django之后,有了可用的管理工具django-admin.py(1)用django.admin.py来创建一个项目Hellow

1. 创建一个项目

之前在Anaconda 3里面用命令行安装了Django之后,有了可用的管理工具django-admin.py

(1)用django.admin.py来创建一个项目Helloworld

(2)查看项目的目录结构

因为是windows环境,所以只展示了一层。

(3)在目录下输入命令启动服务器

 启动正常

 

(4)视图和URL配置

在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:

1 from django.http import HttpResponse
2 
3 def hello(request):
4     return HttpResponse("Hello world !!! ")

接着,绑定 URL 与视图函数。打开 urls.py 文件,注释掉之前代码,将以下代码复制粘贴到 urls.py 文件中:

 1 # from django.contrib import admin
 2 # from django.urls import path
 3 #
 4 # urlpatterns = [
 5 #     path('admin/', admin.site.urls),
 6 # ]
 7 
 8 from django.conf.urls import url
 9 from . import view
10 
11 # 匹配模式 统一资源定位
12 urlpatterns = [
13     url(r'^$', view.hello)
14 ]
15 # 正则表达式 ^$表示匹配一行的首和尾

(5)完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问

 

 2. 使用模板

(1)在 HelloWorld 目录底下创建 templates 目录并建立 hello.html文件

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5 
 6 head>
 7 <body>
 8     <h1>{{ hello }}h1>
 9 body>
10 html>

这里定义了一个hello变量,使用的是双括号。

(2)向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+"/templates",]

(3)修改 view.py,增加一个新的对象,用于向模板提交数据

1 from django.shortcuts import render
2 
3 def hello(request):
4     cOntext= {}
5     context['hello'] = 'Hello World! using templates'
6     # render 渲染
7     return render(request, 'hello.html', context)

使用 render 来替代之前使用的 HttpResponse。

render 还使用了一个字典 context 作为参数。

context 字典中元素的键值 "hello" 对应了模板中的变量 "{{ hello }}"。

 注:此处上传不了图片

3. 模板继承实现复现

在之前创建的 templates 目录中添加 base.html 文件

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>runoob.comtitle>
 6 head>
 7 <body>
 8     <h1>hello world! using templates2h1>
 9     <p>Django testp>
10     {% block mainbody %}
11         <p>originalp>
12     {% endblock %}
13 body>
14 html>

以上代码中,名为 mainbody 的 block 标签是可以被继承者们替换掉的部分。

所有的 {% block %} 标签告诉模板引擎,子模板可以重载这些部分。

hello.html 中继承 base.html,并替换特定 block,hello.html 修改后的代码如下

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5 
 6 head>
 7 <body>
 8     {% extends "base.html" %}
 9 
10     {% block mainbody %}<p>继承了 base.html 文件p>
11     {% endblock %}
12 
13 body>
14 html>

hello.html 继承了 base.html 文件。

可以看到,这里相同名字的 block 标签用以替换 base.html 的相应 block。

 注:此处上传不了图片

 

 4. 在pycharm中配置变量,直接运行
在Debug Configurations中Script parameters中输入runserver 0.0.0.0:8000,为了可以直接点击Run中链接进行跳转,将其改为runserver localhost:8000

注:没法截图了

 


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 深入解析Django CBV模型的源码运行机制
    本文详细探讨了Django CBV(Class-Based Views)模型的源码运行流程,通过具体的示例代码和详细的解释,帮助读者更好地理解和应用这一强大的功能。 ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
author-avatar
KEN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有