创建一个Django项目的基本操作

1-配置好环境

  下载IDE,如:pycharm,

数据库:  

      mysql: 需要安装好mysql客户端服务端在开发环境中(Windows或者Ubuntu)

      redis:客户端服务端

是否用Navicat等图形化界面(不用的话可以在环境中直接创建,或者pycharm可以创建)

2-创建虚拟环境

  需要制定虚拟环境,环境中安装好Django的版本,可pip install 安装好

如果在pycharm中可以直接拖进去当前目录即可安装依赖包,可直接settings创建虚拟环境

命令:mkvirtualenv django_py3_1.11 -p python3

3-创建工程

进入某文件或者创建某文件目录下,django-admin.py startproject 工程名

4-创建子应用

子应用最好装在一个apps目录下,这样比较方便写接口代码

注意将apps设定为导包路径

python manage.py startapp 子应用名字

(这个地方要注意寻找到manage.py的文件路径,通常我的是../../manage.py)

5-运行工程

python manage.py runserver ip:端口

或: python manage.py runserver

    

6-注册安装子应用

‘users.apps.UsersConfig‘

用到第三方包的话也要注册第三方应用 注册与配置文件中

7-工程配置

1、修改配置文件,创建settings目录,存放dev开发模式,prod线上模式,两个配置分别存放。

将settings.py文件的配置cv过来,修改manag.py的默认配置

os.environ.setdefault("DJANGO_SETTINGS_工程名", "同名工程名.settings.dev")

8-修改导包路径

我们将配置文件改为放在settings子目录下,所以 配置文件中的BASE_DIR指向的变为了存放工程的文件夹/工程名字/工程同名目录

使用sys.path添加<BASE_DIR>/apps目录,即可添加apps应用的导包路径。

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))?# 添加导包路径import syssys.path.insert(0, os.path.join(BASE_DIR, ‘apps‘))

9-数据库

于配置文件修改

DATABASES = {    ‘default‘: {        ‘ENGINE‘: ‘django.db.backends.mysql‘,        ‘HOST‘: ‘127.0.0.1‘,  # 数据库主机        ‘PORT‘: 3306,  # 数据库端口        ‘USER‘: ‘meiduo‘,  # 数据库用户名        ‘PASSWORD‘: ‘meiduo‘,  # 数据库用户密码        ‘NAME‘: ‘meiduo_mall‘  # 数据库名字    }}?

注意:

记得在存放工程的文件夹/工程名/__init__.py文件中添加

import pymysql?pymysql.install_as_MySQLdb()

10-安装djang-redis并配置

CACHES = {    "default": {        "BACKEND": "django_redis.cache.RedisCache",        "LOCATION": "redis://10.211.55.5:6379/0",        "OPTIONS": {            "CLIENT_CLASS": "django_redis.client.DefaultClient",        }    },    "session": {        "BACKEND": "django_redis.cache.RedisCache",        "LOCATION": "redis://10.211.55.5:6379/1",#ip地址:端口/redis的16个库名之一        "OPTIONS": {            "CLIENT_CLASS": "django_redis.client.DefaultClient",        }    }}SESSION_ENGINE = "django.contrib.sessions.backends.cache"SESSION_CACHE_ALIAS = "session"

除了名为default的redis配置外,还补充了名为session的redis配置,分别使用两个不同的redis库。

同时修改了Django的Session机制使用redis保存,且使用名为‘session‘的redis配置。

此处修改Django的Session机制存储主要是为了给Admin站点使用。

11-语言

LANGUAGE_CODE = ‘zh-hans‘?TIME_ZONE = ‘Asia/Shanghai‘

12-日志

LOGGING = {    ‘version‘: 1,    ‘disable_existing_loggers‘: False,  # 是否禁用已经存在的日志器    ‘formatters‘: {  # 日志信息显示的格式        ‘verbose‘: {            ‘format‘: ‘%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s‘        },        ‘simple‘: {            ‘format‘: ‘%(levelname)s %(module)s %(lineno)d %(message)s‘        },    },    ‘filters‘: {  # 对日志进行过滤        ‘require_debug_true‘: {  # django在debug模式下才输出日志            ‘()‘: ‘django.utils.log.RequireDebugTrue‘,        },    },    ‘handlers‘: {  # 日志处理方法        ‘console‘: {  # 向终端中输出日志            ‘level‘: ‘INFO‘,            ‘filters‘: [‘require_debug_true‘],            ‘class‘: ‘logging.StreamHandler‘,            ‘formatter‘: ‘simple‘        },        ‘file‘: {  # 向文件中输出日志            ‘level‘: ‘INFO‘,            ‘class‘: ‘logging.handlers.RotatingFileHandler‘,            ‘filename‘: os.path.join(os.path.dirname(BASE_DIR), "logs/meiduo.log"),  # 日志文件的位置            ‘maxBytes‘: 300 * 1024 * 1024,            ‘backupCount‘: 10,            ‘formatter‘: ‘verbose‘        },    },    ‘loggers‘: {  # 日志器        ‘django‘: {  # 定义了一个名为django的日志器            ‘handlers‘: [‘console‘, ‘file‘],  # 可以同时向终端与文件中输出日志            ‘propagate‘: True,  # 是否继续传递日志信息            ‘level‘: ‘INFO‘,  # 日志器接收的最低日志级别        },    }}

13-异常处理

修改Django REST framework的默认异常处理方法,补充处理数据库异常和Redis异常。

新建utils/exceptions.py

from rest_framework.views import exception_handler as drf_exception_handlerimport loggingfrom django.db import DatabaseErrorfrom redis.exceptions import RedisErrorfrom rest_framework.response import Responsefrom rest_framework import status?# 获取在配置文件中定义的logger,用来记录日志logger = logging.getLogger(‘django‘)?def exception_handler(exc, context):    """    自定义异常处理    :param exc: 异常    :param context: 抛出异常的上下文    :return: Response响应对象    """    # 调用drf框架原生的异常处理方法    response = drf_exception_handler(exc, context)?    if response is None:        view = context[‘view‘]        if isinstance(exc, DatabaseError) or isinstance(exc, RedisError):            # 数据库异常            logger.error(‘[%s] %s‘ % (view, exc))            response = Response({‘message‘: ‘服务器内部错误‘}, status=status.HTTP_507_INSUFFICIENT_STORAGE)?    return response

原文地址:https://www.cnblogs.com/bufufan/p/10961439.html

时间: 2024-10-07 03:34:23

创建一个Django项目的基本操作的相关文章

Django之真正创建一个django项目

真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配置 : 配置APP INSTALLED_APPS中加上"app01" 配置静态文件 首先在项目下创建静态文件夹static 然后在setting下添加 STATICFIFLES_DIRS=( os.path.join(BASE_DIR, 'static'), ) 注意一般开始就要配置好st

创建一个django项目

1:安装python 2:安装django (环境变量要配置正确) 3:使用 django-admin.py 来创建 HelloWorld 项目: 4:目录说明: HelloWorld: 项目的容器. manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互. HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包. HelloWorld/settings.py: 该 Django 项目的设置/配置. H

创建一个django项目,基本配置及运行流程

1.创建一个文件夹a,在命令行里进入a目录下, 2.执行命令创建虚拟环境:python -m venv venv 3.激活虚拟环境:source 名称/bin/activate [linux系统] cd 名称/scripts activate.bat [windows系统] 4.安装django到虚拟环境中 pip install django 5.到命令行a目录下 ,创建项目:    django-admin startproject myproject 6.进入到myproject 下,输入

django复习--如何建立一个django项目

1.cd到项目文件夹下 2.创建一个django项目:django-admin startproject firstsite(项目名称) 3.若同时安装了2.x和3.x版本的python,则需要在manage.py最上方把#!/usr/bin/env python 改为 #!/usr/bin/env python3 (接下来以此情况为例) 4.创建一个django实例:python3 manage.py startapp firstapp(实例名称)

2.2、创建第一个Django项目

2.2.1.创建项目MyOSS 激活django虚拟python环境 $source bin/activate 创建一个web目录 $Mkdir web $Cd web 创建项目 $django-admin.py startproject MyOSS 项目创建完成 进入MyOSS目录 /MyOSS …manage.py …/MyOSS Manage.py 整个web项目管理的文件,会去调用django.core.management中 Execute_from_command_line的命令 使

PyCharm下创建并运行我们的第一个Django项目

PyCharm下创建并运行我们的第一个Django项目 准备工作: 假设读者已经安装好python 2x或3x,以及安装好Django,以及Pycharm 1. 创建一个新的工程 第一次运行Pycharm时,欢迎界面如下: 点击创建新的工程,选择左边面板的Django,填写Location, 以及Application name(我分别填写的是mysite,以及 polls,location填写的mysite相当于你的工程名字) 点击Create,创建项目. 2. 探索项目的结构 自动生成了Dj

开始一个django项目

创建一个工程目录: django-admin.py startproject newseite 进入工程目录,运行以下命令,开启服务: python manage.py runserver 接下来,可以通过 http://127.0.0.1:8000/地址访问页面. 可以通过 python manage.py runserver 8080 设置服务监听端口. 如果想要让本地网络访问,可以运行命令: python manage.py runserver 0.0.0.0:8000 开始一个djang

第一个Django项目及部署到Sina App Engine

Sina App Engine简称SAE,是个比较好的网站托管平台,目前说是全面免费,其实就是每个人分配很小的资源配额,在一定的使用范围内不用消耗云豆(SAE计费方式),对于个人学习和研究足够了,同类的还有GAE(google app engine)以及BAE(baidu app engine),gae身在国内就不用想太多了,除非爱折腾,bae也还不错,不过要用就要花钱,最低的配置只要几毛钱一天,也还算便宜.当然,如果资金富裕或者流量到了一定程度,可以考虑云服务器. 目前,在SAE上部署了一个D

Python开发入门与实战2-第一个Django项目

2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创建第一个Django项目 我们创建一个我们存放Django的工作目录,示例:C:\My Files\Python Projects 在命令提示符窗口进入到刚才创建的目录,运行运行命令: django-admin.py startproject mysite 这样会在你的当前目录下创建一个目录mysi