输入问题关键词
(1)安装及环项目部署
时间:2016-09-14 14:51:24

安装django

pin install django


部署:

开始一个项目
1,DOS命令转到某目录下(你想要创建项目在何处如:C:\Users\Administrator\lym\workspace)。
2,django-admin.py startproject magetz(magetz为你的项目名称)
  特别说明:1.执行该命令前必须把 C:\Python27\Lib\site-packages\django\bin 添加值环境变量path下。
       2.python文件夹默认打开程序为python.exe。否则会出现执行完程序打开了django-admin.py文件。(这个问题找了好久才发现我用的vim默认打开python文件的,导致执行完创建项目命令没有在该目录下生成文件目录) 
3,文件说明:
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。
wsgi.py: An entry-point for WSGI-compatible webservers to serve your project.See How to deploy with WSGI for more details.
具体使用方法参考 文档 https://docs.djangoproject.com/en/1.4/intro/tutorial01/



运行后,如果成功的话, 我们会看到如下的目录样式  :

magetz
├── manage.py
└── magetz
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

我们会发现执行命令后,新建了一个 magetz目录,其中还有一个 magetz目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, __init__.py 是python包的目录结构必须的,与调用有关。


我们到外层那个 magetz目录下(不是magetz中的magetz目录)

二, 新建一个应用(app), 名称叫 MachineLearning

python manage.py startapp MachineLearning # MachineLearning 是一个app的名称

我们可以看到mysite中多个一个 learn 文件夹,其中有以下文件。

MachineLearning/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py


把我们新定义的app加到settings.py中的INSTALL_APPS

修改 magetz/magetz/settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'MachineLearning',
)

备注,这一步是干什么呢? 新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) , 后面你会学习到它们分别用来干什么.

定义视图函数(访问页面时的内容)

我们在MachineLearning这个目录中,把views.py打开,修改其中的源代码,改成下面的

#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse("欢迎光临 Magetz!")

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含getpost的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。

函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

那问题来了,我们访问什么网址才能看到刚才写的这个函数呢?怎么让网址和函数关联起来呢?

定义视图函数相关的URL(网址)  (即规定 访问什么网址对应什么内容)


我们打开 magetz/magetz/urls.py 这个文件, 修改其中的代码:

由于 Django 版本对 urls.py 进行了一些更改:




Django 1.8.x及以上,Django 官方鼓励(或说要求)先引入,再使用:

from django.conf.urls import url
from django.contrib import admin
from MachineLearning import views as ml_views  # new
 
urlpatterns = [
    url(r'^$', ml_views.index),  # new
    url(r'^admin/', admin.site.urls),
]

以上都修改并保存后,我们来看一下效果!




运行开发服务器测试
django 开发服务是可用在开发期间的,一个内建的,轻量的web服务。 我们提供这个服务器是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。 开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。
DOS命令转到刚创建的项目下执行 python manage.py runserver

浏览器http://127.0.0.1:8000测试


  • Copyright © © 2014-2024 magetz.com 版权所有
  • 公安备案 粤ICP备16040249号
  • E-mail: lym@magetz.com