美文网首页我爱编程
建立你的第一个python django app

建立你的第一个python django app

作者: 鸟它鸟 | 来源:发表于2018-05-26 23:25 被阅读0次
django简单工作逻辑

根据上图,我们可以简单的看出来,我们在访问django网页的时候,url会在urls表中做匹配,如果匹配到了,url表会将匹配到的url下发到指定app的url表中再次进行匹配,匹配成功则运行已定义好的函数,那么由此看来,我们首先得自建一个app。

基础环境搭建看之前的文档吧https://www.jianshu.com/p/8aaa38c1619a

首先我们建立一个app

(python36env) [root@xxx01 ops]# python manage.py  startapp dashboard
(python36env) [root@xxx01 ops]# ls
dashboard  db.sqlite3  manage.py  ops

建立完成后,我们看到多了一个dashboard的目录

(python36env) [root@xxx01 ops]# tree dashboard/
dashboard/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

1 directory, 7 files

目录中有些文件,目前我们先不了解太多,先跑一个hello world再说

1 . 首先我们配置一下app添加

(python36env) [root@xxx01 ops]# vim ops/settings.py
 33 INSTALLED_APPS = [
 34     'django.contrib.admin',
 35     'django.contrib.auth',
 36     'django.contrib.contenttypes',
 37     'django.contrib.sessions',
 38     'django.contrib.messages',
 39     'django.contrib.staticfiles',
 40     'dashboard.apps.DashboardConfig',
 41 ]

打开主程序的ops/settings.py配置文件,然后找到INSTALLED_APPS,在里面将我们刚刚新建的dashboard的项目添加。
这里的路径django已经帮我们处理了,所以我们直接从程序/路径开始写程序的定位即可,具体映射文件的信息如下,这个是建立app的时候自动生成的

(python36env) [root@xxx01 ops]# cat dashboard/apps.py
from django.apps import AppConfig
class DashboardConfig(AppConfig):
    name = 'dashboard'

2 . 建立url映射

(python36env) [root@xxx01 ops]# vim ops/urls.py
from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^dashboard/', include("dashboard.urls")),
]

在这里,我们要导入django.conf.urls中的include模块,然后再添加一条dashboard的映射记录,即当匹配到访问http://x.x.x.x/dashboard/的时候将url传递给dashboard.urls进行二次匹配

3 . 建立dashboard中的urls映射表
这玩意建立app后不会自动生成,我也很懵逼,既然不会自动生成,我们手动建立吧。
由于这玩意是映射视图函数的,我们现在还没有一个视图函数,所以这个映射不咋好写,先搞个视图函数去

(python36env) [root@xxx01 ops]# vim dashboard/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("hello world!!")

编写一个index的函数,当被调用的时候通过HttpResponse的方式返回hello world!!

视图编写完成后,再写url映射

(python36env) [root@xxx01 ops]# vim dashboard/urls.py
from django.conf.urls import url
from .views import index

urlpatterns = [
    url(r'^hello/',index),    #编写映射关系,当访问到hello的时候返回index函数的输出
]

之后启动服务吧

(python36env) [root@xxx01 ops]# python manage.py  runserver 0.0.0.0:8000
Performing system checks...

System check identified no issues (0 silenced).

May 26, 2018 - 15:23:52
Django version 1.11.13, using settings 'ops.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

启动服务后,我们访问下看看效果

hello world!!

相关文章

网友评论

    本文标题:建立你的第一个python django app

    本文链接:https://www.haomeiwen.com/subject/gglvjftx.html