赞
踩
在django安装之前需要先安装Python,这里不具体说Python的安装过程了,不会的请自行百度。
django安装有两种方式:
1、使用Python的包管理工具pip:
首先要想使用pip,需要把python自带的pip的路径加入到环境变量中,也就是你Python安装目录的Script目录,我的是F:\Python27\Scripts。然后使用:pip install Django==1.8.6
2、使用源码安装:
下载django源码文件解压,我的放在:F:\Django-1.8.4,然后进入到这个目录,运行setup文件,也就是:python setup.py install。这样运行完安装命令,django会自动安装到Python安装目录的Lib的site-packages目录下,即:F:\Python27\Lib\site-packages.
安装好了就可以使用了,下面介绍使用django创建一个最简单的应用。
这样F盘下面就会有一个HelloWorld目录也就是django项目.进入到项目有如下的内容:
使用PyCharm打开项目:
1)manage.py
让你以多种方式与该 Django 项目进行交互。具体可查看帮助文档./manage.py –help.
2)init.py
我们cat init.py发现该文件是个空文件,只是让Python将该文件所在的目录(此处是mysite/mysite/)当成一个package。
3)settings.py
该Django项目(此处是mysite)的设置文件或配置文件。
重要配置选项:
1.DEBUG
调试相关
2.DATABASE
数据库的相关配置
3.TIME_ZONE
时区相关的配置,eg:TIME_ZONE = ‘America/Chicago’
4.USE_I18N与USE_L10N
国际化与本地化相关的配置
5.INSTALLED_APPS
每个app都要在INSTALLED_APPS中进行声明
app来源:1)系统自动生成 2)./manage.py startapp appname
4)urls.py
所支撑站点的内容列表,配置路由
5)wsgi.py
python 和web服务器交互的文件。
发现报了两个错误
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
Error: [Errno 10013]
ok对于第一个错误,按照提示要先输入python manage.py migrate
之后在启动服务,照做。
第二个服务,是因为django默认的端口8000被占用了。换一个端口就行了,换端口很简单,在启动服务命令之后添加端口号即可:python manage.py runserver 9999
。
在项目中创建一个名为Hello的应用
python manage.py startapp Hello
这里Hello下面文件的介绍使用网上的一张图,只是把他的应用Blog换成我们的Hello即可:
1) 将创建的应用加入到配置文件settings.py中的INSTALLED_APPS 中。
2) 配置路由urls和前端显示文件views
urls用于配置应用的路由,views用于处理用户的请求并返回结果,下面先进行简单的返回字符串,后边我们在讲模板。
这里项目同名文件夹下的urls.py是整个项目的路由配置文件,我们需要为每一个应用创建自己单独的urls.py,把urls.py拷贝一份到Hello下面。
对于应用Hello下面的views.py配置如下:
from django.http import HttpResponse
#index函数接受用户的请求request,处理之后返回处理的结果,也就是对用户的相应response.
def index(request):
return HttpResponse("Hello world ! ")
对于应用Hello下面的urls.py配置如下:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^index/', views.index),
]
对于项目HelloWorld下面的urls.py配置如下:
from django.conf.urls import include, url
from Hello import urls as Hello_urls
urlpatterns = [
url(r'^Hello/', include(Hello_urls)),
]
上面,在views中我们只是简单的返回了字符串,这里我们返回一个html模板。首先需要在应用Hello下面创建一个模板目录Templates,然后在里面创建html文件模板(这里说一下,为了避免麻烦,不要随便修改目录和文件名),然后使用render函数,render(request, 模板文件,字典),这个函数第三个参数中的键是html中要显示的参数名,值是要显示的值。
views修改如下:
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request,'index.html',{"hello":"wallace"})
Templates下的html文件:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>{{ hello }}</h1>
</body>
</html>
hello为要输出的参数名(key), 会输出wallace(value)
到这里,django的使用就完了,但是还有一点特别重要,那就是如果一个项目下面有多个应用,每个应用下面都有模板目录Templates,然后都直接在Templates下面创建html文件,这时候如果不同应用下面的Templates出现同名的html文件会出错,解决的办法是在Templates目录下再创建一个和应用同名的目录,然后把html文件放到这个目录下,此时要相应的修改render中的html模板的路径。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。