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:创建第一个项目+使用模板的更多相关文章

  1. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  2. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

  3. 【3】Django创建第一个项目

    天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...

  4. 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目

    Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...

  5. django创建第一个项目helloworld

    环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...

  6. Django 创建第一个项目

    创建项目: [root@localhost ~]$ django-admin.py startproject web # web是项目名 [root@localhost ~]$ tree web/ w ...

  7. Python使用Django创建第一个项目

    一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...

  8. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

  9. Django创建第一个应用App(3)

    创建一个投票的应用app.现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可.一个项目可以包含多个应用app,一个应用app可以属于多 ...

随机推荐

  1. php 代码段执行时间

    <?php   //程序运行时间 $starttime = explode(' ',microtime()); echo microtime(); /*········以下是代码区······· ...

  2. tomcat集群和负载均衡的实现(session同步)

      (一)环境说明 (1)服务器有4台,一台安装apache,三台安装tomcat (2)apache2.0.55.tomcat5.5.15.jk2.0.4.jdk1.5.6或jdk1.4.2 (3) ...

  3. HTML5应用:setCustomValidity(message)接口

    本文转自http://tid.tenpay.com/?p=3592 HTML5表单验证给前端人员带来了便利,但是在用户体验上存在一些缺陷,默认的提示对用户很不友好,无法准确的获取想要的信息.好在大牛们 ...

  4. A Neural Algorithm of Artistic Style

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 资源 Paper: ...

  5. Java TCP通信概念及实例

    TCP/UDP 协议 通俗解释: TCP协议和UDP协议的区别类似于电话系统和邮政系统. <1>TCP:类似于电话系统,建立双向的通信通道,确定连接,话音顺序接听. <2>UD ...

  6. 【Android】实验6 在应用程序中播放音频和视频 截止提交报告时间2016.4.21

    注:也可以在数独游戏项目中完成该实验的内容.

  7. P3456 [POI2007]GRZ-Ridges and Valleys

    题意翻译 给定一个地图,为小朋友想要旅行的区域,地图被分为n*n的网格,每个格子(i,j) 的高度w(i,j)是给定的.若两个格子有公共顶点,那么他们就是相邻的格子.(所以与(i,j)相邻的格子有(i ...

  8. hdu1007 平面最近点对(暴力+双线程优化)

    突发奇想,用双线程似乎可以优化一些暴力 比如说平面最近点对这个题目,把点复制成2份 一份按照x排序,一份按照y排序 然后双线程暴力处理,一份处理x,一份处理y 如果数据利用x递减来卡,那么由于双线程, ...

  9. 雅礼集训 Day3 T2 u 解题报告

    u 题目背景 \(\frac 14\) 遇到了一道水题,完全不会做,于是去请教小\(\text{D}\).小\(\text{D}\)看了一眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了. ...

  10. 太空飞船(spaceship)

    太空飞船(spaceship) 题目描述 21XX年,秋. 小诚是THU(Tomorrow Happy University)航天学院船舶设计系本科四年级的学生.为了顺利毕业,小诚仔细阅读了这几年被引 ...