美文网首页
Windows下Django项目开发

Windows下Django项目开发

作者: xiaoguo16 | 来源:发表于2018-01-08 16:11 被阅读0次

    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/

    相关文章

      网友评论

          本文标题:Windows下Django项目开发

          本文链接:https://www.haomeiwen.com/subject/bosbnxtx.html