Django学习(三)(视图与网址)
来源:互联网 发布:苹果aso优化 编辑:程序博客网 时间:2024/06/06 02:03
Django中网址是写在 urls.py 文件中,用正则表达式对应 views.py 中的一个函数(或者generic类),我们用一个项目来演示。
- 新建一个项目,名称为mysite
django-admin startproject mysite
如果django-admin不行,使用django-admin.py
运行成功后,会看到如下的目录
mysite├── manage.py└── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
我们会发现执行命令后,新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关。
2.新建一个应用App,名称为learn
python manage.py startapp learn # learn是应用的名字
mysite中多一个learn文件夹
learn/├── __init__.py├── admin.py├── models.py├── tests.py└── views.py
注:Django 1.8.x 以上的,还有一个 migrations 文件夹。Django 1.9.x 还会在 Django 1.8 的基础上多出一个 apps.py 文件。但是这些都与本文无关。
把新定义的app加到setting.py中的INSTALL_APPS中
修改mysite/mysite/setting.py
INSTALL_APPS = ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'learn',)
如果新建的app不加入到INSTALL_APPS中的话,django就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/templates/下的文件)
定义视图函数(访问页面时的内容)
我们在learn这个目录中,把views.py打开,修改其中的源代码,改成下面的
#coding:utf-8from django.http import HttpResponsedef index(request): return HttpResponse(u"欢迎光临 自强学堂!")
第一行声明编码是utf-8,因为我们在代码中使用了中文,如果不声明就报错.
第二行引入HttpResponse,用来向网页返回内容的,就像Python中的print,只不过HttpResponse是把内容显示到网页上.
定义了一个函数index(),第一个参数必须是request,与网页上发出的请求有关,request变量里面包含get或post的内容,用户浏览器,系统等信息在里面,函数返回了一个HttpResponse对象,可以经过一些处理,最终显示几个字到网页上.
我们访问什么网址才能看到刚才写的函数,怎么让网址和函数关联起来.
定义视图函数相关的URL(网址)
我们打开 mysite/mysite/urls.py 这个文件, 修改其中的代码:
由于 Django 版本对 urls.py 进行了一些更改:
Django1.7.x
from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()urlpatterns = patterns('', url(r'^$', 'learn.views.index'), # new # url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)),)
Django1.8.x及以上
from django.conf.urls import urlfrom django.contrib import adminfrom learn import views as learn_views # newurlpatterns = [ url(r'^$', learn_views.index), # new url(r'^admin/', admin.site.urls),]
以上都修改并保存后,我们来看一下效果.
在终端上运行 python manage.py runserver 我们会看到类似下面的信息:
$ python manage.py runserverPerforming 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:33Django 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/
如果是在另一台电脑上访问要用 python manage.py ip:port 的形式,比如监听所有ip:
python manage.py runserver 0.0.0.0:8000监听机器上所有ip 8000端口,访问时用电脑的ip代替 127.0.0.1
本文来自
http://code.ziqiangxuetang.com/django/django-views-urls.html
- Django学习(三)(视图与网址)
- Django学习(四)(视图与网址进阶)
- Django-视图与网址
- Django视图与网址
- Django 视图与网址
- Django 基础教程 视图与网址
- Django 基础教程 视图与网址
- Django视图与网址进阶
- Django 视图与网址进阶:
- Django学习____视图和网址
- Django 之 (2)视图与网址
- Django视图和网址
- Django获取视图网址
- django学习笔记3:视图与路由
- django 学习网址
- Django03-视图与网址
- Django学习总结之三-视图和url配置
- python web框架Django学习(三)视图预url
- 从HelloWorld开始
- 感性的人
- sklearn预处理
- 接口有什么优点
- 2017-9-17考试总结
- Django学习(三)(视图与网址)
- Android NDK(二)常见字符
- C#进阶 12 三中循环对比总结
- jsp最佳实践
- 约瑟夫循环c语言实现 (<<数据结构与算法>>-王曙燕 约瑟夫环问题解答)
- 数据结构-线性表的顺序存储
- C语言递归实现快排quicksort
- git安装和github使用
- day08-mysql表操作回顾(工作重点)