python____Django实战(1)

来源:互联网 发布:阿里云虚拟主机打不开 编辑:程序博客网 时间:2024/05/21 22:51

1.开发环境:win10+python2.7.11+django1.9自行配置安装环境

   首先在命令行中cd到你需要创建项目的目录,我们这一个项目命名为mysite.

命令: django-admin startproject mysite

   本人在E:\E_project\pyweb目录下创建一个mysite,执行上面命令后生成的文件如下图中所示

这里写图片描述

note:尽量避免在项目中用djangotest类的名子,以免冲突。

这样常见的(mysite)目录结构如下所示:

mysite/
    manage/py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

2.目录结构解析

   mysite:最上面的第一个mysite,可以是任何你喜欢的名子
   manage.py:一种命令行工具,允许你以多种方式与该 Django 项目进行交互
键入命令后如下图中所示:
这里写图片描述
mysite/__init__.py:让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般不需要修改它
mysite/settings.py:项目配置文件
mysite/urls.py:URL配置文件
mysite/wsgi.py:Web服务器网关接口文件(Python Web Server Gateway Interface,缩写为WSGI)

3.运行开发服务

   django开发服务是可用在开发期间的,一个内建的,轻量的web服务。在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。 开发服务器监测你的代码并自动加载它,修改代码时无需重启动服务,就可以查看修改结果。对开发者来说这是非常方便的。

命令:python manage.py runserver

这里写图片描述

在浏览器中打开显示如下

这里写图片描述


修改端口和IP:runserver [port or ip:port]

修改端口: python manage.py runserver 8080

修改IP:python manage.py runserver 0.0.0.0.8000


4. hello world

   下面开始我们的第一个例子:

   要实现也页面上显示hello world,在django中需要两步来实现

  • 创建页面内容的views.py文件
  • 配置合适的路由文件urls.py

   在urls.p同级的目录下建立views.py文件,代码如下:

from django.http import   HttpResponsedef index(request):    return HttpResponse("Hello   world")

修改urls.py的代码如下:

"""mysite URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:    https://docs.djangoproject.com/en/1.9/topics/http/urls/Examples:Function views    1. Add an import:  from my_app import views    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')Class-based views    1. Add an import:  from other_app.views import Home    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')Including another URLconf    1. Add an import:  from blog import urls as blog_urls    2. Import the include() function: from django.conf.urls import url, include    3. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))"""from django.conf.urls import urlfrom django.contrib import adminimport viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^index/',views.index),]

只要注意下面两行即可,其它的都是原生成文件的:
import views
url(r’^index/’,views.index),
完成后启动服务:
python manage.py runserver
如果你先前一直运行,这时不用再重启,每次你修改完后它会自动的更新

在浏览器中:http://localhost:8000/index/

会看到下面的例子结果:

这里写图片描述

   经过上面所述,我们完成了一个简单基于django的例子可以正确的显示hollo world.到此基于完成。

5.附录:

关于url()函数的讲解:

格式:url(regex,view,kwargs,name)

regex:代表一个正则表达式,凡是与regex匹配的URL的请求都会执行到url()的函数中对应的第二个参数view代表的视图函数中

view:Django始终用HttpRequest对象作为第一个参数传递给视图函数,此外使用regex参数中携带的参数作为可选参数传递给视图函数。可选参数的名字可以显示的指定也可以不显示的指定

kwargs:就是一个字典类型的参数,

url(r’^archive-summary/(d{4})/$’, views, {‘summary’: DD}, “arch-summary”)

那么kwargs:就是{’summary’:DD},在视图函数就可以这样用,def views(request,id,summary)来使用

name:name用来唯一区一个视图对应多个urlconf的场景。通过name来反向获取URL。

0 0