人生苦短 ~

Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用)。因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的官方支持,所以如果你还在使用 Python 2 那就要早做准备了,毕竟没有官方的支持使用起来也不顺心的。

1. 准备好 Python 和 Django 环境

还没有 Python 环境?Python 下载地址: https://www.python.org/downloads/

Django 安装请看这里 Python web 框架之 Django 基础搭建服务

2. 开始创建我们的工程

  1. django-admin.py startproject HelloDjango

接下来将会出现如下目录结构:

  1. HelloDjango
  2. |----HelloDjango # 项目的容器
  3. |----__init__.py # 空文件,告诉 Python 该目录是一个 Python 包
  4. |----settings.py # 该 Django 项目的设置/配置
  5. |----urls.py # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"
  6. |----wsgi.py # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目
  7. |----manage.py # 命令行工具,与该 Django 项目进行交互

3. 启动服务器

进入我们的工程项目 HelloDjango:

  1. python manage.py runserver # 默认使用端口 8000

在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:

Tips:如果不在 APP 应用中输出 Hello Django! 就在上面完成相关输出操作。

4. 创建 Django 应用

进入我们的工程项目 HelloDjango:

  1. python manage.py startapp mydjango

于是 mydjango 文件夹又出现了:

  1. HelloDjango
  2. |----HelloDjango
  3. |----manage.py
  4. |----db.sqlite3 # 默认使用 sqlite3 数据库
  5. |----mydjango # app 应用目录,相当于该项目的子模块
  6. |----migrations
  7. |----__init__.py
  8. |----__init__.py
  9. |----admin.py # 向 Django 注册你的模块,它会创建 Django 的管理界面
  10. |----apps.py
  11. |----models.py # 存储该应用数据模块的地方,在这里描述数据的实体和关系
  12. |----tests.py # 存储应用的测试代码
  13. |----views.py # 处理应用请求和响应

views.py 和 models.py 每个应用都会用到,是 Django 设计模式 MVT(Model-View-Template)。

5. mydjango APP 和 HelloDjango 项目进行关联

每当有了一个新的应用,都需要在项目的配置文件 setting.py 的 INSTALLED_APPS 中添加应用名称:

  1. INSTALLED_APPS = [
  2. 'django.contrib.admin',
  3. 'django.contrib.auth',
  4. 'django.contrib.contenttypes',
  5. 'django.contrib.sessions',
  6. 'django.contrib.messages',
  7. 'django.contrib.staticfiles',
  8. 'mydjango',
  9. ]

6. 创建视图

打开新建的 app mydjango 目录,找到文件 views.py 并打开添加如下代码:

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

7. URL 映射访问

在当前应用目录创建文件 urls.py 并映射需要访问的 URL:

  1. from django.urls import path
  2. from mydjango import views
  3.  
  4. urlpatterns = [
  5. path('hello/', views.hello),
  6. ]

8. 把项目中的 URL 和 APP 应用中的 URL 关联

打开 HelloDjango 文件夹找到 urls.py 文件,打开添加如下代码:

  1. from django.contrib import admin
  2. from django.conf.urls import url, include
  3.  
  4. urlpatterns = [
  5. url('admin/', admin.site.urls),
  6. url('mydjango/', include('mydjango.urls')),
  7. ]

当访问 mydjango URL 的时候会映射到 mydjango APP 应用中的 urls.py 文件,然后输入该文件中的映射 URL 即可访问,于是输入:

  1. http://127.0.0.1:8000/mydjango/hello/

结果:

~ 我学 Python

Django 学习笔记(一) --- Hello Django的更多相关文章

  1. Django学习笔记之使用 Django项目开发框架

    Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 ...

  2. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  3. Django 学习笔记之四 QuerySet常用方法

    QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...

  4. Django 学习笔记之三 数据库输入数据

    假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...

  5. Django学习笔记(五)—— 表单

    疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path         ...

  6. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  7. Django 学习笔记(二)

    Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...

  8. Django 学习笔记(五)模板标签

    关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...

  9. Django 学习笔记(四)模板变量

    关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...

  10. Django 学习笔记(三)模板导入

    本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...

随机推荐

  1. Java:ConcurrentHashMap

    ConcurrentHashMap的目的 多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap.虽然已经有一个线程安全的Ha ...

  2. 连续子数组和的最大值plus

    package wodeshiyao; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStre ...

  3. mui.init()和mui.plusReady()

    1.每个用到mui的页面都调用下mui.init.2.如果需要使用大H5+对象,就写到plusReady中,如plus对象. HTML5+扩展api是针对手机APP的,只有才手机应用(比如手机浏览器) ...

  4. python 更换 版本

    这是一个悲伤的安装ipython的过程. 写下来留个教训吧. 也是希望对博友一些帮助吧. 注: 我也写了一篇window下安装bpython的文章(个人感觉bpython要比ipython强大的多), ...

  5. ABP框架系列之四十二:(Object-To-Object-Mapping-对象映射)

    Introduction It's a common to map a similar object to another object. It's also tedious and repeatin ...

  6. 异常与Final

    Throwable 类是 Java 语言中所有错误或异常的超类(这就是一切皆可抛的东西).它有两个子类:Error和Exception.Error:用于指示合理的应用程序不应该试图捕获的严重问题.这种 ...

  7. Django Model Form

    ModelForm ModelForm结合了Form和Model,将models的field类型映射成forms的field类型,复用了Model和Model验证, 写更少的代码,并且还实现了存储数据 ...

  8. Django orm 实现批量插入数据

    Django ORM 中的批量操作 在Hibenate中,通过批量提交SQL操作,部分地实现了数据库的批量操作.但在Django的ORM中的批量操作却要完美得多,真是一个惊喜. 数据模型定义 首先,定 ...

  9. 不需要 root 权限的 ping

    https://blog.lilydjwg.me/2013/10/29/non-privileged-icmp-ping.41390.html https://stackoverflow.com/qu ...

  10. 手动封装on,emit,off

    on 绑定 emit 触发 off 解绑 //存放事件eventList = {key:valhandle:[]} 1对多on(eventName,callback);handle:-------N多 ...