Django 学习笔记(一) --- Hello Django
人生苦短 ~
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. 开始创建我们的工程
django-admin.py startproject HelloDjango
接下来将会出现如下目录结构:
HelloDjango
|----HelloDjango # 项目的容器
|----__init__.py # 空文件,告诉 Python 该目录是一个 Python 包
|----settings.py # 该 Django 项目的设置/配置
|----urls.py # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"
|----wsgi.py # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目
|----manage.py # 命令行工具,与该 Django 项目进行交互
3. 启动服务器
进入我们的工程项目 HelloDjango:
python manage.py runserver # 默认使用端口 8000
在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:
Tips:如果不在 APP 应用中输出 Hello Django! 就在上面完成相关输出操作。
4. 创建 Django 应用
进入我们的工程项目 HelloDjango:
python manage.py startapp mydjango
于是 mydjango 文件夹又出现了:
HelloDjango
|----HelloDjango
|----manage.py
|----db.sqlite3 # 默认使用 sqlite3 数据库
|----mydjango # app 应用目录,相当于该项目的子模块
|----migrations
|----__init__.py
|----__init__.py
|----admin.py # 向 Django 注册你的模块,它会创建 Django 的管理界面
|----apps.py
|----models.py # 存储该应用数据模块的地方,在这里描述数据的实体和关系
|----tests.py # 存储应用的测试代码
|----views.py # 处理应用请求和响应
views.py 和 models.py 每个应用都会用到,是 Django 设计模式 MVT(Model-View-Template)。
5. mydjango APP 和 HelloDjango 项目进行关联
每当有了一个新的应用,都需要在项目的配置文件 setting.py 的 INSTALLED_APPS 中添加应用名称:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mydjango',
]
6. 创建视图
打开新建的 app mydjango 目录,找到文件 views.py 并打开添加如下代码:
from django.shortcuts import render
from django.http import HttpResponse def hello(request):
return HttpResponse("Hello Django!")
7. URL 映射访问
在当前应用目录创建文件 urls.py 并映射需要访问的 URL:
from django.urls import path
from mydjango import views urlpatterns = [
path('hello/', views.hello),
]
8. 把项目中的 URL 和 APP 应用中的 URL 关联
打开 HelloDjango 文件夹找到 urls.py 文件,打开添加如下代码:
from django.contrib import admin
from django.conf.urls import url, include urlpatterns = [
url('admin/', admin.site.urls),
url('mydjango/', include('mydjango.urls')),
]
当访问 mydjango URL 的时候会映射到 mydjango APP 应用中的 urls.py 文件,然后输入该文件中的映射 URL 即可访问,于是输入:
http://127.0.0.1:8000/mydjango/hello/
结果:
~ 我学 Python
Django 学习笔记(一) --- Hello Django的更多相关文章
- Django学习笔记之使用 Django项目开发框架
Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来.Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记(五)—— 表单
疯狂的暑假学习之 Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- Django 学习笔记(二)
Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(四)模板变量
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
随机推荐
- android 可以在程序代码中设置样式:style
<style name="text_style"> <item name="android:textStyle">bold</it ...
- Alpha 冲刺 (5/10)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助前后端接口的开发 测试项目运行的服务器环 ...
- 微信浏览器Ajax请求返回值走error
微信浏览器Ajax post请求是返回值走的error $.ajax({ type: "POST", url: "https://XXXX", cache: f ...
- LOJ-10106(有向图欧拉回路的判断)
题目链接:传送门 思路: (1)将每个单词视为有向路径,单词的起始字母是起始节点,末尾字母是终止节点,然后找由字母建立的有向图 是否是欧拉图或者半欧拉图. (2)先用并查集判断是否连通,再判断入度与出 ...
- UVa 11481 Arrange the Numbers (组合数学)
题意:给定 n,m,k,问你在 1 ~ n 的排列中,前 m 个恰好有 k 个不在自己位置的排列有多少个. 析:枚举 m+1 ~ n 中有多少个恰好在自己位置,这个是C(n-m, i),然后前面选出 ...
- Pattern Design - Strategy Pattern
If you can disassemble code and you want to apply one method of an object in another object that t ...
- codeforces 1042 e
逆推期望 #include<bits/stdc++.h> using namespace std; #define ll long long #define pb(x) push_back ...
- RxSwift学习笔记7:buffer/window/map/flatMap/flatMapLatest/flatMapFirst/concatMap/scan/groupBy
1.buffer的基本使用 let publishSubject = PublishSubject<String>() //buffer 方法作用是缓冲组合,第一个参数是缓冲时间,第二个参 ...
- 剑指offer编程题Java实现——面试题14调整数组顺序使奇数位于偶数之前
题目: 输入一个整数数组,实现一个函数来调整该数组中数组的顺序,使得所有的奇数位于数组的前半部分,偶数位于数组的后半部分. 解题思路:数组中维护两个指针,第一个指针初始化时候指向数组头部,第二个指针初 ...
- Android开发 - ImageView加载Base64编码的图片
在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片.这种情况出现在服务端需要动态生成的图片,比如: 二维码 图形验证码 ... 这些应用 ...