Django | 三、项目的创建与运行

一、创建项目

  如果是新建一个 Django 项目,那么你要进行一些初始设置。从命令行 cd 到您要存储代码的目录,比如,想在/opt 目录下新建一个manageproject 的项目,就进入/opt目录,然后运行以下命令:

django-admin startproject manageproject

创建后的文件目录如下:
在这里插入图片描述

  • 关于上面自动生成的目录与文件解释如下: 外部manageproject/根目录只是一个项目的容器。它的名字与Django无关;可以将其重命名为您喜欢的任何内容。

  • manage.py:一个命令行实用程序,可以让您以各种方式与此Django项目进行交互。你可以阅读所有的细节manage.py在Django的管理和manage.py。注意,这个后面会经常用到

  • 内部manageproject/目录是您的项目的实际Python包。它的名字是您需要用来导入其中的任何内容的Python包名称(例如mysite.urls)。

  • manageproject/init.py:一个空的文件,告诉Python这个目录应该被认为是一个Python包。

  • manageproject/settings.py:此Django项目的设置/配置。以后进行配置的时候会经常用到,比如数据库配置。

  • manageproject/urls.py:该Django项目的URL声明; 您的Django动力网站的“目录”。

  • manageproject/wsgi.py:WSGI兼容的Web服务器为您的项目提供服务的入口点。

二、运行开发服务器

  在manageproject目录,运行相关命令,进行服务的启动。这里我使用的是阿里云服务器,需要先开放防火墙,另外要指定允许访问的IP地址和访问的端口。这些在生产环境中都可以进行相关的配置。
  另外,在运行前,需要对manageproject/manageproject/settings.py 中的主机进行配置,设置 ALLOWED_HOSTS = ['*']
在这里插入图片描述

  • 默认启动方式
python3 manage.py runserver 
  • 指定端口启动
python3 manage.py runserver  80
  • 指定允许访问的ip地址 和 服务端口启动
python3 manage.py runserver  0.0.0.0:80 #允许所有IP访问

在这里插入图片描述
【备注】如果出现以下"django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17)." 报错,则是DjangoSQLite版本不匹配的问题,可以进行SQLite的升级,或者降低Django版本。当然,也以不使用默认的SQLite数据库,比如,改成mysql 数据库,数据库根据自己的实际情况进行修改。

【使用mysql数据库方式】
  1.在manageproject/manageproject/settings.py 中,修改数据库连接方式

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'NAME',
        'USER': 'USER',
        'PASSWORD': 'PASSWORD',
        'HOST': 'HOST',
        'PORT': '3306',
    }
}

【注意】修改数据库为mysql后,有两种配置client的方式,一种是使用pymysql(低版本中使用这种方式),另一种是使用mysqlclient方式。两种的处理过程如下:

方式一:pymysql

  1.在manageproject/manageproject/__init__.py 中,添加配置

import pymysql
pymysql.install_as_MySQLdb()

#不添加,会报错 “Did you install mysqlclient?”

  2.在 /usr/local/lib64/python3.6/site-packages/django/db/backends/mysql/operations.py 修改参数。


#146行
query = query.decode(errors='replace')

#改成
query = query.encode(errors='replace')

#不修改,会报错。AttributeError: 'str' object has no attribute 'decode'

在这里插入图片描述

方式二:mysqlclient

yum install gcc* mariadb-devel  #安装依赖,注意GCC的包要安装完全

pip3 install mysqlclient #安装mysqlclient

在这里插入图片描述

三、运行效果

在这里插入图片描述
【注】:这里创建的项目采用的都是真实linux环境,目的是方便练习和入门,后面熟悉后,会采用virtualenv进行真实项目的创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值