初识 Django

安装

安装 Python

推荐使用 Python 3 而不是 Python 2 版本,因为毕竟 Python 2 已经停止维护更新,所以先安装 Python 3,哪个版本的都可以。
多说下,如果你是需要两个版本并存,比如我的电脑上因为有些脚本还是 Python 2 写的,所以还是不能直接换成 Python 3,就要下载两个不同的版本。
我是先下载的 Python 2 后下载的 Python 3,方法很简单,把其中一个的 python.exe 改名字,因为常用的还是 Python 2,所以这里是把 Python 3 文件夹下面的 python.exe 改成了 python3.exe, 记得要把 folder 路径加到环境变量里面,这样想用 Python 3 运行的时候就执行 :

python3 xxx.py

特别说明下,如果是用 pip install package 的时候,需要打如下命令才能安装到 python 3 下:

python3 -m pip install xxx

安装 Django

直接使用 pip 安装就好:

python3 -m pip install django

如果想下载最新的,就需要到官网 上查看最新的版本,比如现在最新的是3.0.4, 那么安装命令就是:

python3 -m pip install Django==3.0.4

创建项目

初始项目

首先创建一个项目,进入要创建的目录运行如下命令:

django-admin startproject project_name

运行后目录下会创建对应的folder,结构如下:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

解释下每个文件代表的意思:

  • manage.py: 这个是命令行运行的入口
  • settings.py: 项目的设定和配置
  • urls.py: 路由文件,链接内的跳转都在这里配置
  • asgi.py: 异步的 SGI,这个是 Django 3.0 才引入的新特性,详细的介绍可以参考这里
  • wsgi.py: 同上

运行

在项目根目录下面,运行如下的命令:

python3 manage.py runserver

如果没有异常会显示如下:

Django version 3.0.3, using settings 'vendor_loading.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

那么打开浏览器输入上面的link,就可以正常打开 Django server的网页了,当然这个只是本地测试开发使用,正式产品可不是这种方法。

创建应用

这里一开始也有些困惑项目的应用的意思,其实可以理解成,项目相当与一个网站的骨架,基于这个骨架下你可以有多种不同的应用类型,比如 Blog,短视频,这样的好处是只要都是 Django 建站,那么这些应用可以很方便放到不同的网站服务器中运行。

创建成功后,接下来要做什么呢?当然是先所见即所得,先可以看到一个启动后的网页。

创建一个视图

在创建出来的应用中有一个文件叫 view.py, 默认是空的,我们先简单的放上一句话:

from django.http import HttpResponse

def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
这里先不管他的意思,可以想象成就是返回了一串文字插入到html中。

接下来视图有了,问题是这个视图怎么被叫到呢?创建一个新的 python 文件,因为是路由相关的,就叫 urls.py,输入如下的内容:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

这个从字面上比较好理解,创建一个urlpatterns, 路径默认使用views.index 这个方法,回到前面的 views.java文件,就可以看到这里的views.index 就是 views.py 的方法。

那么接下来,这个 urls 又会在哪里被用到呢?答案是在项目里面,别忘了现在这些都是在应用的 folder 中,所以还需要在项目的 urls.py 中加入对应用的 urls.py的调用,改动如下:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

这里详细说明下 path 的用法,总共会有4个参数,route, view, kwargs, name, 其意思分别如下:

  • route: 是一个字符串表达式,实际就是根据表达式去匹配第一个匹配的,顺序是从上到下
  • view: 在找到匹配的表达式后,就去调用对应的视图函数,会传递一个 HttpRequest 作为第一个参数传给视图函数
  • kwargs: 可选参数
  • name: 可选参数
    到此,便可以在你的浏览器上根据route里面的定义,来访问不同的视图,比如说http://127.0.0.1:8000/admin,这个就会打开 Django 自带的 admin 应用
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • 点我查看本文集的说明及目录。 本项目相关内容包括: 实现过程: CH7 创建在线商店 CH8 管理支付和订单 CH...
    学以致用123阅读 3,558评论 0 6
  • 安装 pip install Django 如果环境中存在多个python版本时(如同时安装2.*和3.*), 2...
    Andrew玩Android阅读 183评论 0 1
  • 1 django常见命令 startproject:创建一个项目 startapp:创建一个应用 check:校验...
    不甘做条咸鱼的江河弟弟阅读 190评论 0 1
  • PythonWeb框架要点、Django介绍、工程搭建、配置、静态文件与路由 1.Python Web 框架要点 ...
    Cestine阅读 1,477评论 0 6
  • Django的来历:python开发的! long long long years ago!劳伦斯出版集团新闻 网...
    JAguys阅读 341评论 0 0