初学Django:创建第一个项目+使用模板
1. 创建一个项目
之前在Anaconda 3里面用命令行安装了Django之后,有了可用的管理工具django-admin.py
(1)用django.admin.py来创建一个项目Helloworld
(2)查看项目的目录结构
因为是windows环境,所以只展示了一层。
(3)在目录下输入命令启动服务器
启动正常
(4)视图和URL配置
在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
- from django.http import HttpResponse
- def hello(request):
- return HttpResponse("Hello world !!! ")
接着,绑定 URL 与视图函数。打开 urls.py 文件,注释掉之前代码,将以下代码复制粘贴到 urls.py 文件中:
- # from django.contrib import admin
- # from django.urls import path
- #
- # urlpatterns = [
- # path('admin/', admin.site.urls),
- # ]
- from django.conf.urls import url
- from . import view
- # 匹配模式 统一资源定位
- urlpatterns = [
- url(r'^$', view.hello)
- ]
- # 正则表达式 ^$表示匹配一行的首和尾
(5)完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问
2. 使用模板
(1)在 HelloWorld 目录底下创建 templates 目录并建立 hello.html文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- </head>
- <body>
- <h1>{{ hello }}</h1>
- </body>
- </html>
这里定义了一个hello变量,使用的是双括号。
(2)向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+"/templates",]
(3)修改 view.py,增加一个新的对象,用于向模板提交数据
- from django.shortcuts import render
- def hello(request):
- context = {}
- context['hello'] = 'Hello World! using templates'
- # render 渲染
- return render(request, 'hello.html', context)
使用 render 来替代之前使用的 HttpResponse。
render 还使用了一个字典 context 作为参数。
context 字典中元素的键值 "hello" 对应了模板中的变量 "{{ hello }}"。
注:此处上传不了图片
3. 模板继承实现复现
在之前创建的 templates 目录中添加 base.html 文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>runoob.com</title>
- </head>
- <body>
- <h1>hello world! using templates2</h1>
- <p>Django test</p>
- {% block mainbody %}
- <p>original</p>
- {% endblock %}
- </body>
- </html>
以上代码中,名为 mainbody 的 block 标签是可以被继承者们替换掉的部分。
所有的 {% block %} 标签告诉模板引擎,子模板可以重载这些部分。
hello.html 中继承 base.html,并替换特定 block,hello.html 修改后的代码如下
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- </head>
- <body>
- {% extends "base.html" %}
- {% block mainbody %}<p>继承了 base.html 文件</p>
- {% endblock %}
- </body>
- </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
注:没法截图了
初学Django:创建第一个项目+使用模板的更多相关文章
- Django 创建第一个项目(转)
转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- 【3】Django创建第一个项目
天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...
- 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目
Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...
- django创建第一个项目helloworld
环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...
- Django 创建第一个项目
创建项目: [root@localhost ~]$ django-admin.py startproject web # web是项目名 [root@localhost ~]$ tree web/ w ...
- Python使用Django创建第一个项目
一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...
- Angular安装及创建第一个项目
Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...
- Django创建第一个应用App(3)
创建一个投票的应用app.现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可.一个项目可以包含多个应用app,一个应用app可以属于多 ...
随机推荐
- 搭建 MongoDB分片(sharding) / 分区 / 集群环境
1. 安装 MongoDB 三台机器 关闭防火墙 systemctl stop firewalld.service 192.168.252.121 192.168.252.122 192.168.25 ...
- 爬虫:Scrapy10 - Link Extractors
Link Extractors 适用于从网页(scrapy.http.Response)中抽取会被 follow 的链接的对象. Scrapy 默认提供 2 种可用的 Link Extractor,但 ...
- mysql安装目录、配置文件存放位置
linux系统下,如何知道mysql使用的配置文件到底是哪个呢?linux自带的mysql的安装目录又是什么呢?数据存放在什么目录下? 1.linux系统自带的mysql,其安装目录及数据目录查看方法 ...
- Could not automatically select an Xcode project. Specify one in your Podfile like so
需要将Podfile文件放置在根目录下,而不能放置在项目的里面. 更改路径即可
- 物联网第一次作业--我眼中的物联网——从认识RFID开始
无线射频识别技术(Radio FrequencyIdentification,简称:RFID)是一种非接触式的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)或雷达反射的传输特性,实 ...
- kvm竟然抓不到kvm的tracepoint
今天终于把kvm给搭起来了,打开了host机的tracepoint竟然一个都没有抓到,这是咋回事? 难道kvm的东西只有在启动的时候才会被抓到? 虚拟出来一块内存一块CPU,虚拟出来一个内存.感觉都好 ...
- JavaScript—获取本地时间以12小时制显示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- myeclipse 常规web项目创建
配置jdk 我的jdk C:\Program Files\Java\jdk1.7.0_67 window --> preferences --> Java --> In ...
- sublime text常用快捷键及多行列模式批量操作教程
列模式 苹果:OS X -鼠标左键+Option -或者鼠标中键 -增加选择:Command,减少选择:Command+Shift 2 Windows: -鼠标右键+Shift -或者鼠标中键 -增加 ...
- Windows Server 2008允许多用户登录远程桌面
远程桌面是windows管理员对服务器进行管理最常用的方式,默认情况下windows server服务器是只允许单个远程链接的,如何开启多个用户远程桌面,下面就来介绍. 工具/原料 windo ...