20181029day1django配置

一、环境安装

1、创建虚拟环境

mkvirtualenv django_py3_1.11 

2、安装django

pip install django==1.11.11

3、虚拟环境和pip命令:

#虚拟环境:

mkvirtualenv  #创建虚拟环境

rmvirtualenv  #删除虚拟环境

workon  #进入虚拟环境、查看所有的虚拟环境

deactivate  #退出虚拟环境

#pip

pip install #安装依赖包

pip uninstall #写在依赖包

pip list  #查看已安装的依赖包

pip freeze  #冻结当前环境的依赖包

二、创建工程

1、创建

django-admin startproject  工程名

例:需要在桌面的code目录创建一个名为demo的项目工程,可执行如下命令:

cd ~/Desktop/code

django-admin startproject demo

2、工程目录说明

settings.py 项目整体配置文件

urls.py  项目的URL配置文件

wsgi.py  项目已WSGI兼容的web服务器入口

manage.py 项目管理文件,通过它管理项目

3、运行开发服务器

python manage.py runserver ip:端口

或者:

python manage.py runsever

三、运行开发服务器

python manage.py runserver ip:端口

或者:

python manage.py runserver

不写ip和端口,默认127.0.0.1 端口8000

django默认工作在调试debug模式下,如果增加、修改、删除文件,服务器会自动重启

ctrl+c停止服务器。

四、创建app

类似于flask中的蓝图,django的视图编写实在子应用中的

1、创建

在django中,可以通过命令创建应用模块

python manage.py startapp 子应用名称

例如:

cd ~/Desktop/code/demo

python manage.py startapp users

在工程目录下创建了users的子app

2、app文件说明

admin.py 文件跟网站后台管理站点配置相关

apps.py 文件用于配置当前子应用的相关信息

migrations 存放数据库迁移历史文件

models.py 保存数据库模型类

tests.py 测试用例,编写单元测试

views.py web应用视图

3、注册安装子应用

在工程配置文件setting中,INSTALLED_APPS添加apps.py的Config

'users.apps.UsersConfig'

五、创建视图

1、在users中的views里

from django.http import HttpResponse

def index(request):
    """
    index视图
    :param request: 包含了请求信息的请求对象
    :return: 响应对象
    """
    return HttpResponse("hello the world!")

2、定义路由URL

2.1子应用创建urls.py文件保存路由

2.2 在users/urls.py文件中定义路由信息

from django.conf.urls import url

from . import views

# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [
    # 每个路由信息都需要使用url函数来构造
    # url(路径, 视图)
    url(r'^index/$', views.index),
]

2.3 在工程总路由demo/urls.py中添加子应用路由数据

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),  # django默认包含的

    # 添加
    url(r'^users/', include('users.urls')), 
]
  • 使用include来将子应用users里的全部路由包含进工程路由中;
  • r'^users/' 决定了users子应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/

include函数除了可以传递字符串之外,也可以直接传递应用的urls模块,如

from django.conf.urls import url, include
from django.contrib import admin
import users.urls  # 先导入应用的urls模块

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # url(r'^users/', include('users.urls')),
    url(r'^users/', include(users.urls)),  # 添加应用的路由
]

2.4 启动应用

python manage.py runserver

六、配置文件

1、BASE_DIR

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

当前工程根目录,DJango来定位工程内部的相关文件

2、DEBUG

调试模式,创建工程初始化为True

调试模式会返回报错信息,非调试只会返回500

注意:部署上线的Django的DEBUG=False

3、本地语言与时区

Django支持本地化处理,显示语言与时区支持本地化

初始化的工程默认语言和时区为英语和UTC标准时区

LANGUAGE_CODE = 'en-us'  # 语言
TIME_ZONE = 'UTC'  # 时区

将语言和时区修改为中国大陆信息

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

4、静态文件

为了提供静态文件,需要配置两个参数:

STATICFILES_DIRS存放查找静态文件的目录

STATIC_URL 访问静态文件的URL前缀

4.1、项目根目录下创建static_files目录保存静态文件

4.2、修改setting.py中静态文件的两个参数

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_files'),
]

4.3、此时在static_files添加任何静态文件都可以使用  ip+端口+/static/+文件名绝对路径  来访问static_files中的文件

例如:

127.0.0.1:8000/static/index.html

127.0.0.1:8000/static/goods/detail.html

注意:

Django仅在debug模式下提供静态文件

当生产模式下,不提供静态文件,需要用collectstatic命令手机静态文件并由其他静态文件服务器来提供

七、路由说明:

猜你喜欢

转载自blog.csdn.net/weixin_42670402/article/details/83536252