Django Basics

1.创建Django项目

切换到项目路径下,执行以下命令

[C:\Users\XC\PycharmProjects]$ python C:\Users\XC\Anaconda3\Scripts\django-admin.py startproject tango_with_django_project

让我们看一下 start project 生成了什么

tango_with_django_project/
    manage.py
    tango_with_django_project/
        __init__.py
        settings.py
        urls.py
        wsgi.py

这些文件包括:

  • 外层的 tango_with_django_project/ 根目录仅仅是项目的一个容器。它的命名对Django无关紧要, 你可以把它重新命名为任何你喜欢的名字。

  • manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。你可以在django-admin和manage.py中读到关于manage.py 的所有细节。

  • 内层的 tango_with_django_project/ 目录是你的项目的真正的Python包。 它是你导入任何东西时将需要使用的Python包的名字(例如mysite.urls)。

  • init.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。 (如果你是一个Python初学者,关于包的更多内容请阅读Python的官方文档)。

  • settings.py:该Django 项目的设置/配置。 Django 设置 将告诉你这些设置如何工作。

  • urls.py:该Django项目的URL声明, 你的Django站点的“目录”。 你可以在URL 转发器 中阅读到更多关于URL的内容。

  • wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。更多细节请参见如何利用WSGI进行部署

2.开发服务器

我们验证一下你的Django项目是否工作。 如果你不在外层的tango_with_django_project目录下,那么进入这个目录,然后运行以下命令:

$ python manage.py runserver

你将看到命令行下输出了以下内容:

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 07, 2017 - 18:08:08
Django version 1.11.6, using settings 'tango_with_django_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

既然服务器已经运行,请用你的浏览器访问 http://127.0.0.1:8000/。在淡蓝色背景下,你将看到一个“Welcome to Django”的页面。它运行成功了!

3.创建Django应用

要创建您的应用程序,请确保您与tango_with_django_project.py在同一目录中,并键入以下命令:

$ python manage.py startapp rango

这将创建一个目录rango,它的结构如下:

rango/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

把rango应用添加到app元组里。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rango',
]

4.编写视图

让我们来编写第一个视图。 打开rango/views.py文件并将以下Python代码写入:

from django.http import HttpResponse


def index(request):
    return HttpResponse("Rango says hey there partner!")

这可能是Django中最简单的视图。为了能够调用这个视图,我们需要将这个视图映射到URL上 —— 利用一个URLconf。
要在rango目录中创建一个URLconf,创建一个名为urls.py的文件。
rango/urls.py文件中键入如下代码:

from django.conf.urls import url
from rango import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

5.映射URLS

下一步是将根URLconf映射rango.urls模块。 在tango_with_django_project/urls.py中,从django.conf.urls.导入include,并且插入Include()到 urlpatterns列表, 这样你就有了:

from django.conf.urls import include, url
from django.contrib import admin
from rango import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^rango/', include('rango.urls')),

    url(r'^admin/', admin.site.urls),
]

6.基本工作流程

创建一个新的Django项目

  • python django-admin.py startproject <name>

创建一个新的Django应用

  • $ python manage.py startapp <appname>
  • setting.py中把新的应用添加到INSTALLED_APPS
  • 在项目urls.py中,增加个匹配到应用
  • 在应用urls.py中,把url链接到view
  • 在应用的view.py中,创建view视图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容