Django学习(一)---基本配置及创建项目、应用
安装:在Django官网下载最新版Django然后通过pip安装即可
一、创建项目
进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名)
二、创建应用
1.打开命令行,进入项目中manage.py同级目录
2.命令行输入:python manage.py startapp blog(应用名)
3.添加应用名到settings.py中的INSTALLED_APPS里
三、新建视图
编辑应用blog目录下的views.py文件如下:
from django.shortcuts import render # Create your views here. from django.http import HttpResponse # 引入HttpResponse,用来向网页返回内容 def index(request): # 定义的函数第一个参数必须是request,resquest变量里包含了get和post方式 return HttpResponse(u'Hello World')
函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示"Hello World"到网页上。
注意:每个请求对应一个函数,函数必须返回一个响应
函数必须存在一个参数,一般约定为request
每个相应(函数)对应一个URL
四、为页面配置URL路由
编辑项目myblog目录下的urls.py文件如下:
from django.conf.urls import url from django.contrib import admin from blog import views as Hello_views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^blog/$',Hello_views.index) ]
注意:每个URL都以url的形式写出来
url函数存放在urlpatterns列表中
url函数有3个参数:URL(正则),对应方法,名称(可省略)
启动:通过命令行进入项目myblog同级目录,输入python manage.py runserver启动,打开浏览器输入url即可,默认为 http://127.0.0.1:8000/index
五、
1.创建完项目后的目录结构为:
myblog ├── manage.py └── myblog ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
新建了一个 myblog 目录后,其中还有一个 myblog 目录,这个子目录 myblog 中是一些项目的设置settings.py 文件,总的urls配置文件urls.py 以及部署服务器时用到的 wsgi.py 文件,__init__.py是python包的目录结构必须的,与调用有关。
2.创建应用app后的目录结构为:
blog/ ├── __init__.py ├── admin.py ├── models.py ├── tests.py └── views.py
3.Django中几个项目文件的作用:
1)urls.py
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
2) models.py
数据模块,使用ORM模块,与数据库操作相关,存入或读取数据时用到这个,用不到数据库时可以不使用。
3)forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,也可以不使用。
4) templates 文件夹
views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,可以用缓存来提高速度。
5) admin.py
后台,可以用很少量的代码就拥有一个强大的后台。
6) settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
7) migrations
数据移植(迁移)模块
8)apps.py
该应用的一些配置,自动生成的
9) test.py
自动化测试模块,Django提供自动化测试的功能,在这里编写测试语句
10) views.py
执行响应的代码所在模块,代码逻辑处理的主要地点,项目中大多数代码写在这里
六、第二种URL配置方法
当项目比较庞大时,如果所有的url都在根urls.py中配置的话,会比较繁杂,出现命名冲突等问题,不利于维护,
因此可以在每个app中单独配置url。
1.
在项目根目录下的 urls.py中引入include
url方法中加入include(‘blog.urls’)
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'', include('blog.urls')), ]
2.在app目录下创建urls.py文件 格式和根urls.py相同
import blog.views 文件
url方法加入views.index函数
from django.conf.urls import url from blog import views as Hello_views urlpatterns = [ url(r'^index/$', Hello_views.index), ]
注意:
根urls.py针对app配置的URL名称,是该app所有URL的总路径(如:上面的路径为http://127.0.0.1:8000/index/)
即匹配的路径为根urls.py中的正则加上app下urls.py中的正则
配置URL注意正则表达式结尾符号$和/