【转载】windows下开发django项目

Django是python中的一个框架,可以实现web服务器的功能,从而实现前后端的数据交互功能。

安装

  1. Django官网上下载对应自己Python的版本;
  2. 解压缩下载的Django压缩包,找到里面的setup.py文件,然后打开cmd命令窗口,在其对应的路径下执行如下命令:
python setup.py install
  1. 在python IDE下输入:
import django
print django.VERSION

如果有以下结果则安装成功(如果没有,则重启一下试试):

(1, 11, 9, u'final', 0)

创建项目

安装完成后,我们可以创建Django项目,并启动相应的服务器。下面以创建一个名为pro的项目为例:

  1. 找到或者新建一个文件夹,用于存储该项目,文件夹位置无所谓。假设项目保存在名为root的文件夹。
  2. 在root文件夹下运行cmd,并键入:
django-admin

可以查看可以使用的命令。

  1. 使用startproject命令创建项目,比如项目名称为pro,则需要在cmd中运行如下命令。
django-admin startproject pro
  1. 回到root文件夹,则可以看到该文件夹中含有pro文件夹,pro文件夹中还有一个pro子文件夹以及一个manage.py的文件。pro项目创建完成。

启动项目服务器

切换到项目目录中,即上述的root/pro中,运行cmd,并键入:

python manage.py runserver

则可以看到该项目已经运行在http://127.0.0.1:8000/中了。

数据交互

后端的数据如何反映到web服务器中?下面以一个实例为证:

  1. 在root/pro/pro中新建一个python文件,此处命名为test.python,python文件的内容为:
from django.http import HttpResponse
#gly为视图名称,request为参数名,需要在页面中显示"hello"
def gly(request):    
    return HttpResponse("hello")
  1. 打开root/pro/pro/urls.py,修改其为:
from django.conf.urls import url
#导入视图
from pro.test import gly 
#urlpattern,告诉Django,所有指向URL:/gly/的请求都应由gly这个视图函数来处理
urlpatterns = [
    url(r'^gly/$',gly)
]
  1. 启动项目服务器,可以看到页面中已经有了我们需要展示的内容。启动过程中需要注意端口号后面需要加上相应的视图名称,否则会提示404错误。

     

    image.png

Django中的CORS跨域配置

在前后端域(域名,端口和协议)不同时,有同源策略限制,因此需要进行跨域操作。传统的JSONP方法比较复杂,需要返回回调函数,并且只能GET请求。这里我们介绍CORS跨域配置,一劳永逸。

  1. 安装CORS,在cmd中敲入如下命令进行安装,一般在安装Django的时候已经安装了CORS。
pip install django-cors-headers
  1. 配置项目中的settings.py文件
    把cors加入到APPS中,即将 'corsheaders'加入进去。
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'corsheaders',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

加入cors的中间件,即在MIDDLEWARE中加入 'corsheaders.middleware.CorsMiddleware',

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

在该文件中加入,这个要非常注意,因为很多中文博客资料中没有提到这个,所以因为这个原因搞了很久都不对。它的默认值是False,要改成True才可以,这样才允许所有的源都被接受。

CORS_ORIGIN_ALLOW_ALL=True

以上这些设置好后,就可以进行跨源操作了,如果还不可以的话,请参考下方的官方配置文件,看是否有哪些设置需要添加。
注:安装部分参考http://www.cnblogs.com/maybe2030/p/4600872.html
创建部分参考https://jingyan.baidu.com/article/c85b7a64b7428d003aac9565.html
交互部分参考http://www.cnblogs.com/maybe2030/p/4606302.html
CORS部分https://github.com/ottoyiu/django-cors-headers/



作者:xiaoguo16
链接:https://www.jianshu.com/p/be3a109104aa
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值