Django项目详解1——简单的web应用

前言

前段时间看完了廖雪峰老师的Python基础, 开始的时候见内容很多,以为学完了就是大牛了,等一节一节的完成了所有的练习和作业才发现,这才刚入门。

考虑了一下方向,想往web方面发展,于是在众框架中选中了django,官网爬了3天,进度有点慢,虽然讲的确实细,但感觉很吃力,偶然发现了几个不错的网站

以下内容主线以参考刘江老师博客

我的环境都用的稳定版:

  • python 3.6
  • django 1.11

django本来更新到2.0了,结果在官网看到1.11是长期支持版本,支持时间远超2.0,于是又切回来了

本系列一共4篇,3篇是主线,还有一篇拓展外置MySQL数据库的,源码在这里

https://github.com/seeways/mysite

创建工程

其实项目创建还是比较简单的,结构都会自动创建好

django-admin startproject mysite

mysite/             # 项目容器
    manage.py       # 管理工具
    mysite/         # 实际的项目
        __init__.py # python包的初始化文件
        settings.py # 主配置文件
        urls.py     # url路由
        wsgi.py     # 兼容性wsgi(网络通信接口)

如果用工具创建的话,会有templates文件夹,用来存放模板文件(html之类的)

创建app

python manage.py startapp cmdb

mcdb/                   # app目录
    __init__.py         # app初始化文件
    admin.py            # 管理models
    apps.py             # app注册
    migrations/         # db迁移文件夹
        __init__.py
    models.py           # 模型
    tests.py            # 测试
    views.py            # 视图

编写路由

首先在mysite/urls.py中定义路由

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from cmdb import views  # 导入对应app的视图文件


urlpatterns = [
    url(r'^admin/', admin.site.urls),  # 后台管理页面
    url(r"^index/", views.index),  # app路由 url(regex, view, kwargs=None, name=None)
]

  • r"^index/"是自己定义的路由,正则匹配很重要
  • views.index是导入的对应app的views模块的index函数

业务逻辑

路由已经有了,但是需要编写一点逻辑:进入cmdb/views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse  # 导入该模块
# Create your views here.

# 编写在路由中定义的index函数,参数为request
# (request 封装了用户请求的所有内容)
def index(request):  
    # 设置响应数据为简单的字符串
    return HttpResponse("my first django today")  

运行项目

命令行运行:

python manage.py runserver
默认 http://127.0.0.1:8000/

也可以自定义ip和端口

python manage.py runserver 127.0.0.1:8000

但是有个问题,在路由中只定义的两个接口,而且没有定义根接口,所以,应该这么访问

定义的字符串
http://127.0.0.1:8000/index

or

系统的管理后台
http://127.0.0.1:8000/admin

下一篇
Django项目详解2——动态响应的web应用

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

推荐阅读更多精彩内容