django环境搭建和第一个接口

来源:互联网 发布:淘宝固定背景多层交替 编辑:程序博客网 时间:2024/05/01 22:30

django环境搭建

首先下载需要的源码包然后按照如下步骤安装

yum install apr-devel
yum install apr-util-devel
yum install atlas-devel
cd python && ./configure --prefix=/home/work/env/python -enable-shared CFLAGS=-fPIC
cd setuptool && /home/work/env/python/bin/python setup.py install
cd pysqlite && /home/work/env/python/bin/python setup.py install
cd django && /home/work/env/python/bin/python setup.py install
cd redis && make && ln -s redis-cli /home/work/env/redis/redis-cli && ln -s redis-server /home/work/env/redis/redis-server
cd redispy && /home/work/env/python/bin/python setup.py install
cd redisco && /home/work/env/python/bin/python setup.py install
cd httpd && ./configure --prefix=/home/work/env/apache --enable-rewrite --enable-so --enable-headers --enable-expires --enable-deflate

配置apache

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / /home/work/wwwroot/myproject/myproject/wsgi.py
WSGIPythonPath /home/work/wwwroot/myproject
<Directory /home/work/wwwroot/myproject>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>

配置好以后,创建一个django的project

django-admin.py startproject myproject

manage.py startapp test

注册app,编辑myproject/settings.py

INSTALLED_APPS = (    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'common',#注册APP    'apachereduce',    'mysqlreduce',) MIDDLEWARE_CLASSES = (    'django.contrib.sessions.middleware.SessionMiddleware',    'django.middleware.common.CommonMiddleware',    #'django.middleware.csrf.CsrfViewMiddleware',#因为是纯后端API,前边还有php作为验证和中转等,所以这里去掉csrf验证    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',    'django.contrib.messages.middleware.MessageMiddleware',    'django.middleware.clickjacking.XFrameOptionsMiddleware',)

配置url转发

myproject/urls.py

from django.conf.urls import patterns, include, urlfrom django.contrib import admin urlpatterns = patterns('',    # Examples:    # url(r'^$', 'reduceserver.views.home', name='home'),    # url(r'^blog/', include('blog.urls')),    # url(r'^admin/', include(admin.site.urls)),    url(r'^api/v1/test/', include('test.urls')),)
test/urls.py

from django.conf.urls import patterns, urlfrom test import views urlpatterns = patterns('',    url(r'^(.*)/_hello$', views.hello, name='hello'),)
test/views.py

from django.shortcuts import renderfrom django.http import HttpResponseimport json def callreduce(request, index):    #testget = request.GET.get('testget')#get参数获取方法    token = request.META.get('HTTP_TOKEN')#head参数获取方法,注意参数名实际为“CTOKEN”,但是在django里需要在前边加“HTTP_”防止和内置的参数混淆    post = json.loads(request.body)#post参数获取方法    query = post['query']     return HttpResponse('Hello World!!!')






0 0
原创粉丝点击