安装

sudo pip install Django

新建项目

django-admin startproject XXX

启动项目

进入主目录下

python manage.py runserver 0.0.0.0:

文件体系

HelloWorld: 文件夹,项目的容器。

manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。

HelloWorld/settings.py: 该 Django 项目的设置/配置。

HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。

HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

------------------------------DEBUG时间----------------------------------------

解决就很简单:

寻找占用端口的进程

ps -aux | grep -i "manage.py"

杀死

kill - 

修改settings.py

ALLOWED_HOSTS = ['*']

然后再runserver就可以在0.0.0.0:8000看到

喜闻乐见的HelloWorld

#新建一个view.py
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
#然后修改urls.py,绑定view里的hello函数与url
from django.conf.urls import url
from . import view
urlpatterns = [
url(r'^$', view.hello),
]
#直接刷新0.0.0.0.8000即可看到结果
# url(regex, view[, kwargs, name])
# regex是正则表达式,与之匹配会执行view,kwargs是视图使用的字典类型# 的参数,name用来反向获取url

使用模板

在settings.py里修改模板的路径

TEMPLATES里'DIRS'改为[BASE_DIR+"/templates",], 并在主目录下建立文件夹templates,在里面放上hello.html,其内容是

<h1>{{ hello }}</h1>

此处变量用双大括号标注。

修改view.py为

from django.shortcuts import render

def hello(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'hello.html', context)

这样,templates放的是网页模板,里面用到的是view.py里定义的变量,因此实现了模板和数据的分离。

模板标签

if支持嵌套,condition也接受and/or/not

{% if condition1 %}
... display 1
{% elif condition2 %}
... display 2
{% else %}
... display 3
{% endif %}

for支持嵌套

必须说。。这个在写select单选框的时候我有用过,很省力:)

{% for athlete in athlete_list %}
<h1>{{ athlete.name }}</h1>
<ul>
{% for sport in athlete.sports_played %}
<li>{{ sport }}</li>
{% endfor %}
</ul>
{% endfor %}

反向迭代

{% for athlete in athlete_list reversed %}

还有ifnotequal

{% ifequal section 'sitenews' %}
<h1>Site News</h1>
{% else %}
<h1>No News Here</h1>
{% endifequal %}

{# 这是一个注释 #}

{% include %} 标签允许在模板中包含其它的模板的内容。

过滤器可以在变量被显示前修改它,可以使用管道字符|套接

{{ name|lower }} {#将name变量转换为小写#}

{{ my_list|first|upper }} {#将第一个元素转换为大写#}

{{ bio|truncatewords:"30" }} {#显示bio变量的前30个字符#}

length {#返回变量长度#}

addslashes {#添加反斜杠到任何反斜杠、单引号或者双引号前面。#}

{{ pub_date|date:"F j, Y" }} {#按指定的格式字符串参数格式化date或datetime对象#}

模板可以继承。新建base.html,block部分是可以被继承和替换的。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ProbeDesignTest</title>
</head>
<body>
<h1>Hello World!</h1>
<p>testing……</p>
{% block mainbody %}
<p>original</p>
{% endblock %}
</body>
</html>

修改hello.html,首先声明父模板,然后在与base.html同名的block中修改内容。

{%extends "base.html" %}

{% block mainbody %}
<p>继承了 base.html 文件</p>
{% endblock %}

模型

在根目录下创建app

django-admin startapp app

然后注册这个应用,在INSTALLED_APPS中添加一行

'app.apps.AppConfig',

查看urls.py

url映射通过urlpatterns管理,url()函数要么将URL式样(URL pattern)关联到特定视图(specific view),将在模式匹配时显示;

要么关联到某个URL式样列表的测试代码。 (第二种情况下,URL式样是目标模型里的“base URL”)

更改为

from django.conf.urls import url, include
from django.contrib import admin urlpatterns = [
url(r'^admin/', admin.site.urls),
]
urlpatterns += [
url('', include('app.urls')),
]

# path函数已经不能用了,注意。

中文注释的话,开头要加

# -*- coding: UTF-8 -*-

在probeD文件夹下新建urls.py

from django.conf.urls import url
from . import views urlpatterns = [
]

django开发傻瓜教程-1-安装和HelloWorld的更多相关文章

  1. django开发傻瓜教程-3-celery异步处理

    Ref: https://www.jianshu.com/p/6f8576a37a3e https://blog.csdn.net/Demo_3/article/details/78119951 ht ...

  2. django开发新手教程(原创)

    为了帮助新手简单高效解决django开发的问题,从而写了这么一篇,随便转载! 本人用的是windows10操作系统 #联网安装 ==指定版本号      我在自定义的www文件夹安装C:\Users\ ...

  3. CentOS6设置Django开发环境

    今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 ...

  4. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  5. ubuntu下安装和配置最新版JDK8傻瓜教程

    ubuntu下安装和配置最新版JDK8傻瓜教程 听语音 | 浏览:18940 | 更新:2014-07-14 22:13 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubuntu系统通常 ...

  6. Xamarin.Forms教程下载安装Windows版的Xamarin开发工具

    Xamarin.Forms教程下载安装Windows版的Xamarin开发工具 下载安装Windows版的Xamarin开发工具 本节将讲解如何下载并安装Windows版的Xamarin开发工具. 下 ...

  7. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  8. Django开发之路 一(django安装并测试运行)

    安装Django与测试 1.虚拟环境的安装 一般来说Django的开发最好是在虚拟环境上进行,这样的好处是可以将不同的Django的项目的环境分割开来,相互不影响.比如说项目一用到Python2.x和 ...

  9. vscode 开发.net core 从安装到部署 教程详解

    一:环境准备: windows系统需要 win7 sp1 / windows 8  / windows 2008 r2 sp1 / windows10: 其他版本的windows系统在安装.NET C ...

随机推荐

  1. Python编程实现USB转RS485串口通信

    ---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- -----------点击此处链接至博客园原文----------- 功能说明:Python编程 ...

  2. Aura Component Skills & Tools

    本篇参考: https://trailhead.salesforce.com/content/learn/modules/lex_dev_lc_vf_fundamentals 不知不觉已经做了三年多的 ...

  3. java 中的阻塞队列

    1.什么是阻塞队列: 支持阻塞的插入方法,意思是当队列满时,队列会阻塞插入元素的线程,知道队列不满. 支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空. 插入和移除操作的4种处 ...

  4. <Android 基础(二)> BroadcastReceiver

    介绍 BroadcastReceiver:广播接收者,很形象,广播发送,类比生活中的广播,有能力听得到的都可以介绍到这个信息,然后在大脑中反映.对应到Android中就是SendBroadcast和o ...

  5. TTTAttributedLabel

    TTTAttributedLabel 库地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel #import "ViewCo ...

  6. [Rails学习之路]初识Ruby(二)

    继续上次Ruby的学习.接下来就到了Ruby的方法. Ruby的方法与Python仍然很像.使用def定义,可以使用undef取消定义. 在Ruby中,经常可以看见方法后面跟有"?" ...

  7. POJ 2104 K-th Number(分桶,线段树,主席树)

    一道比较经典的数据结构题.可以用多种方式来做. 一,分桶法(平方分解). 根据数字x的大小和区间内不大于x的数字数量cnt的单调性,可知第k大数kth对应的cnt应该满足cnt≥k, 且kth是满足条 ...

  8. Java 虚拟机枚举 GC Roots 解析

    JVM 堆内存模型镇楼. 读<深入理解 Java 虚拟机>第三章GC算法,关于 GC Roots 枚举的段落没说透彻,理解上遇到困惑.因此对这点进行扩展并记录,发现国内各种博客写来写去都是 ...

  9. fmt - 简易的文本格式优化工具 simple optimal text formatter

    总览 (SYNOPSIS) ../src/fmt [-DIGITS] [OPTION]... [FILE]... 描述 (DESCRIPTION) 重新 格式化 文件 FILE(s) 中的 每一个 段 ...

  10. vue中的过滤器

    过滤器 过滤器规则 Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方: 双花括号插值{{}}和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应 ...