Ubuntu下Django初体验(二)——创建工程及应用

一、工程目录详解

创建工程后得到如下目录:

Ubuntu下Django初体验(二)——创建工程及应用

1. manage.py

管理项目、创建数据库、启动服务器等、测试等。

查看子命令:

python manage.py

启动服务器:

python manage.py runserver

指定启动服务器的地址和端口:

python manage.py runserver 0.0.0.0 8080

2. mysite 目录

2.1 settings.py  对于整个网站的配置。配置文件:应用、中间件、数据库、静态目录各类配置。。。

2.2 urls.py 不同的url映射到不同的函数中去。URL映射配置文件:决定一个url访问被哪个程序(函数)响应。

2.3 wsgi.py Python应用程序或框架和web服务器之间接口。

二、创建应用

django中使用应用来分割功能

2.1 创建应用blog

python manage.py startapp blog

创建完成后,将出现一个blog的目录。

Ubuntu下Django初体验(二)——创建工程及应用

2.2 添加blog应用

将blog添加到网站中 :

vi mysite/settings.py

Ubuntu下Django初体验(二)——创建工程及应用

三、应用目录详解

leiyujia@leiyujia-VirtualBox:~/myweb/mysite$ tree blog
blog
├── admin.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

3.1 views.py

不同的url对应不同的目录,页面就是由views.py生成的。

编辑views.py:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here. def hello(request):
return HttpResponse("<h1>hello</h1>");

为了让请求调用函数,还要配置URL CONFIG

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.8/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. Add an import: from blog import urls as blog_urls
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import include, url
from django.contrib import admin urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'helloworld', 'blog.views.hello'),
]

然后启动服务器:

python manage.py runserver

再次打开浏览器,得到如下结果:

Ubuntu下Django初体验(二)——创建工程及应用

3.2 models.py 定义数据库中的表

3.3 amdin.py admin 相关

3.4 test.py 测试相关

Ubuntu下Django初体验(二)——创建工程及应用

Ubuntu下Django初体验(二)——创建工程及应用
上一篇:@Override的作用


下一篇:osgearth介绍(转载)-feature_labels.earth