所谓好记性不如烂笔头,学习一门框架,一种语言,即使简单,也会涉及到很多细节,在此我从Django的官网上照着例子以及自己的理解整理出一个完整的框架使用情况。第一次使用Django,第一次用Python,不对的地方请多包涵和指正,完全按照Django逛网例子来,如果觉得我的有问题,请参考官方文档:https://docs.djangoproject.com/en/2.0/
本人使用的python版本3.6.0 Django版本2.0.2,截止到写该文章时应该属于最新的版本。
python和django的安装过程在这里不做详细介绍
首先保证python和python\Scripts都在环境变量path中配置,其中Scripts是Django安装好后的目录,放于Python中
第一步:执行
$ django-admin startproject mysite
这个会创建一个mysite project的目录,目录结构如下:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
分别的含义:
- 最外层的myproject是刚才指令创建的工程的名称,可以当作一个容器
- manage.py是一个命令行工具,可以通过该工具与这个工程进行交互
- __init__.py是一个空的文件,只是用来标识这个package是一个python包
- settings.py 本工程的所有的配置都存放于此
- wsgi.py yigeWSGI兼容的Web服务器的入口,用于运行web程序,暂时不需要关注这个
- urls.py 是配置Url的文件,整个工程的url声明,由django驱动的URL目录
步骤二:
第一步后其实就可以运行这个web 工程了,命令如下:
python manage.py runserver
上述指令没有指定端口号和IP,默认的是127.0.0.1:8000
运行后的效果图如下:
如果要修改端口号和IP,指令如下:
$ python manage.py runserver 127.0.0.0:8080
步骤三:
上述我们创建的只是一个project,工程名是mysite,里面包含了manage.py命令行,配置文件,url文件等,适用于整个工程,如果还需要创建自己的应用程序,官方叫法apps,我们的业务代码都是在app中完成的
$ python manage.py startapp hello
这样在mystie目录下又多了一个文件夹polls,里面有应用程序必须的py文件,如下:
hello
__init__.py
admin.py
models.py
tests.py
views.py
这些文件就创建了新创建的应用程序
步骤四:在hello.views.py添加如下代码
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello world!")
步骤五:修改mysite的urls.py
添加红色部分的代码,用于URL请求匹配对应的view
from django.conf.urls import patterns, include, url
from django.contrib import admin
from hello.views import index
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^hello',index,name="index")
)
第六步:重复步骤二并执行,并在浏览器输入127.0.0.1:8000
至此,一个带有单个app的工程就创建完了。