zoukankan      html  css  js  c++  java
  • [工具] Window10搭建Django开发环境

    一、安装Python

    两种方式安装Python:

    1)下载Python安装包,安装Python

    2)下载Anaconda安装包,安装Anaconda

    安装完毕后记得添加环境变量,方便执行python命令以及pip命令。

    二、创建python虚拟环境

    1.新建一个虚拟环境目录

    D:myvenv1

    2.创建虚拟环境

    1)进入 D:myvenv1 目录

    2)执行以下命令

    D:myvenv1>python -m venv .

    python -m venv表示创建虚拟环境,"."表示,将当前目录作为虚拟环境目录。

    创建完毕后,我们可以看到myvenv1目录下创建了一些文件:

    3.激活虚拟环境

    1)进入myvenv1/Scripts目录

    2)运行命令:

    D:myvenv1Scripts>activate
    
    (myvenv1) D:myvenv1Scripts>

    这样就进入虚拟环境了,在虚拟环境激活状态下,我们使用pip安装的包都会安装在虚拟环境中。

    三、搭建django环境

    1.编写requirements文件

    编写requirements文件是可选操作,通过requirements文件可以批量的安装我们需要的依赖。当然我们也可以手工安装每个依赖。

    # requirements文件内容
    django==2.1.8 pillow numpy

    2.安装依赖

    1)退回myvenv1目录

    2)执行命令:

    (myvenv1) D:myvenv1>pip install -r requirements -i https://pypi.douban.com/simple/

    这样,pip就会根据requiremens文件中指定的条目(如果未指定版本,则安装源提供的最新版)来安装依赖。

    3.创建django项目

    (myvenv1) D:myvenv1>django-admin startproject mypro
    
    (myvenv1) D:myvenv1>dir
     驱动器 D 中的卷是 新加卷
     卷的序列号是 1CE1-F51B
    
     D:myvenv1 的目录
    
    2020/02/29  16:20    <DIR>          .
    2020/02/29  16:20    <DIR>          ..
    2020/02/29  16:07    <DIR>          Include
    2020/02/29  16:07    <DIR>          Lib
    2020/02/29  16:20    <DIR>          mypro
    2020/02/29  16:15                61 pip-selfcheck.json
    2020/02/29  16:07                89 pyvenv.cfg
    2020/02/29  16:17                28 requirements
    2020/02/29  16:17    <DIR>          Scripts
                   3 个文件            178 字节
                   6 个目录 25,197,617,152 可用字节

    4.修改django配置文件

    使用sublime或其他编辑器打开mypro项目:

    1)修改语言和时区

    # LANGUAGE_CODE = 'en-us'
    LANGUAGE_CODE = 'zh-hans'
    
    # TIME_ZONE = 'UTC'
    TIME_ZONE = 'Asia/Shanghai'

    2)添加STATIC和MEDIA文件路径

    STATIC_URL = '/static/'
    
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    
    MEDIA_URL = '/media/'
    
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

    3)修改DEBUG状态

    if os.name == 'nt':  # 如果在windows环境下
        DEBUG = True
    else:
        DEBUG = False  # 如果在linux环境下

    4)修改数据库配置

    if os.name == 'nt':  # windows环境下
        DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.sqlite3',
                'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
            }
        }
    else:
        # Linux环境下使用mysql
        # mysql数据库配置

    5)修改urls.py文件

    修改urls.py文件:
    
    from django.contrib import admin
    from django.urls import path
    
    from django.conf import settings
    from django.conf.urls.static import static
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

    5.启动django

    运行命令:

    (myvenv1) D:myvenv1mypro>python manage.py runserver
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    February 29, 2020 - 16:32:48
    Django version 2.1.8, using settings 'mypro.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.

    访问页面:

    四、发布环境需要做的事情

    1.搜集静态文件

    我们需要将admin等django模块使用到的静态文件搜集到static目录下。

    使用命令:

    (myvenv1) D:myvenv1mypro>python manage.py collectstatic
    
    119 static files copied to 'D:myvenv1myprostatic'.

    可以看到,django项目根目录下创建了一个static目录,里面包含了搜集起来的admin需要的静态文件(其中包含js、css、图片等静态文件)。

    2.数据库迁移

    执行命令:

    (myvenv1) D:myvenv1mypro>python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, auth, contenttypes, sessions
    Running migrations:
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying admin.0002_logentry_remove_auto_add... OK
      Applying admin.0003_logentry_add_action_flag_choices... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying auth.0007_alter_validators_add_error_messages... OK
      Applying auth.0008_alter_user_username_max_length... OK
      Applying auth.0009_alter_user_last_name_max_length... OK
      Applying sessions.0001_initial... OK

    ###

  • 相关阅读:
    高性能的索引策略(上)
    索引的优点
    Mysql 索引的基础(下)
    Mysql 索引的基础(上)
    如果使用的是orm,是否还需要关系索引
    Mysql 数据类型使用说明
    WCF开发实战系列三:自运行WCF服务
    WCF开发实战系列二:使用IIS发布WCF服务
    WCF开发实战系列一:创建第一个WCF服务
    .Net并行编程之二:并行循环
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/12383638.html
Copyright © 2011-2022 走看看