Django学习--003--视图

1.首先新建一个项目,进入想要创建项目的文件夹,使用下面命令:

django-admin.py startproject the-site

注:the-site为项目名称,能够本身命名。python

2.成功后,会出现使用tree命令,会出现以下文件结构。

mysite
├── manage.py
└── mysite
    ├── __init__.py #空文件,告诉python把mysite做为一个python模块。
    ├── settings.py #设置和配置文件,包含初始设置文件
    ├── urls.py     #定义URL格式,每一个定义的URL经过这个文件映射到views文件
    └── wsgi.py     #配置项目做为一个WSGI应用

注:Django 1.8.x 以上的,还有一个 migrations 文件夹。Django 1.9.x 还会在 Django 1.8 的基础上多出一个 apps.py 文件。web

setting.py中包含基本的SQLlite数据库配置信息和一系列默认添加的应用。咱们能够创造在数据库中创造表。使用如下命令:正则表达式

cd mysite
python manage.py migrate

输入图片说明

3.网站项目创建好后,须要新建一个APP模块。如app.

python manage.py startapp your-app
#your-app为你的模块名,可本身设置

创建APP后的结构以下:数据库

app
|-- admin.py                
|-- __init__.py
|-- migrations
|   `-- __init__.py
|-- models.py
|-- tests.py
`-- views.py

如须要多个模块(模块能够理解为项目下的子网站)能够创建多个APP。django

4.把咱们新定义的app加到settings.py中的INSTALL_APPS中

新建的 app 若是不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)浏览器

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'your-app-name',
)

5.定义视图函数。

打开创建的app文件下的views.py文件,修改文件代码以下:服务器

#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse(u"欢迎来到Django")

1.第一行是声明编码为utf-8, 由于咱们在代码中用到了中文,若是不声明就报错.session

2.第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 同样,只不过 HttpResponse 是把内容显示到网页上。app

3.咱们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含get或post的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就能够)。ide

4.函数返回了一个 HttpResponse 对象,能够通过一些处理,最终显示几个字到网页上。

6.定义视图函数相关的网址。

咱们须要访问什么网址才能返回咱们刚才定义的视图函数的结果。这是须要定义Urls.py文件

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_view   #新
 urlpatterns = [
    url(r'^$', learn_views.index),  # 新,使用的正则表达式。
    url(r'^admin/', admin.site.urls),
]

注:第三行为新加行,Django在新版本中鼓励使用先导入视图文件,再去使用视图文件中的函数的方法。

7.运行开发服务器,查看开发结果。

django是一个轻量级的web服务器,不须要花费时间配置生产信息。

在含有manage.py的文件夹下使用下面的命令。

python manage.py runserver

出现下面返回表明服务成功开启。

$ python manage.py runserver
 
Performing system checks...
 
System check identified no issues (0 silenced).
 
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
 
December 22, 2015 - 11:57:33
Django version 1.9, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

打开浏览器访问 http://127.0.0.1:8000/, 这个网址是由咱们书写的正则表达式规定的。不一样的正则表达式输入的网址不一样。

咱们还能够运行django在特定端口,例如:

python manage.py runserver 127.0.0.1:8001 --settings = mysite.settings
相关文章
相关标签/搜索