Django 视图与网址

Django 视图与网址

1. 新建一个 project 名字为 mysite

django-admin startproject mysite
  1. 如果 django-admin 不行,请用 django-admin.py
  2. 如果是在Linux是用源码安装的,或者用 pip 安装的,也是用 django-admin.py 命令

mysite 是项目名称,还有一个子目录也叫 mysite(这是 mysite 项目的配置文件)比如 settings.py, Urls 配置文件 urls.py , 部署服务器会用到的 wsgi.py 文件,__init__.py是 Python包的目录结构必须的,与调用有关。

进入项目 mysite 目录》

2. 新建一个应用(APP),名称为 learn

python manage.py startapp learn

learn 是 APP 名称

把我们新定义的 APP 加到 settings.py 中的 INSTALL_APP中

修改 mysite/mysite/settings.py 文件,在里面添加 'learn'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'learn'     # 这个是后加的
]

备注,这一步是干什么呢?

新建的 APP 如果不加到 INSTALL_AP 中的话,DJANGO 就不能自动找到 APP 中的模板文件(app_name/templates/ 下面的文件)和静态文件 (app_name/static/中的文件)

定义视图views函数(访问页面时的内容)

修改为以下内容

#coding:utf-8
from django.http import HttpResponse

def index(request):
    return HttpResponse(u" 欢迎光临 自强血糖!")

第一行声明编码为 utf-8,因为代码会用到中文,不声明就会报错。

第二行 引入 HttpResponse, 它是用来向网页返回内容的,就像 python 里面的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

def index() 函数,第一个参数必须是 request, 与网页发来的请求有关,request 变量里包含 post 或者 get 的内容,用户浏览器,系统等信息在里面。

定义视图函数的相关 URL,即规定 访问什么网址对应什么内容

打开 mysite/mysite/urls.py,修改其中的代码为。

from django.contrib import admin
from learn import views as learn_views   # 新加的

urlpatterns = [
    url(r'^$', learn_views.index),   # 新加的
    url(r'^admin/', admin.site.urls),
]

开启服务

python manage.py runserver

我们打开浏览器,访问 http://127.0.0.1:8000/

就可以看到刚刚在 views.py 里面写的字了。

2017082915040008076127.png

Comments
Write a Comment