Django
Django(丛林),作为python的web框架。
它属于是大而全。同时也说明它很笨重。
我的个人意见,如果你是小白,想要学习python的web开发,最好从Django入手。
可能,它一开始的配置和使用,很麻烦。
但是学会Django后,再去学习其它两款框架,你只需要了解一下它们之间的区别,就可以很快上手。
创建一个django项目
现在创建和配置会很麻烦。不过请忍耐一下。
后面的其他练习可以直接复制这个项目,然后修改里面的一两个文件即可。
把终端目录切换到chapter0/django_learn目录下
注意是要在虚拟环境中哦。
依次执行下面的命令。
django-admin startproject learn
cd learn
python manage.py startapp hello
touch hello/urls.py
mkdir templates
mkdir static
这个时候目录结构如下:
.
├── hello
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── learn
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── static
└── templates
5 directories, 13 files
现在呢,先不介绍每个文件和目录作用。
后面总结再讲,我们先配置好项目并运行起来后再说吧。
配置learn项目
settings.py
打开learn目录下的settings.py文件。根据下面给出的代码对原来的代码进行替换。
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
# Internationalization
# 国际化 这里有很多修改,可以直接复制粘贴即可
# https://docs.djangoproject.com/en/2.1/topics/i18n/
LANGUAGE_CODE = 'zh-hans' # 有修改,zh-hans 简体中文
TIME_ZONE = 'Asia/Shanghai' # 有修改 设置时区 亚洲/上海
USE_I18N = True
USE_L10N = True
USE_TZ = False #关闭国际时间
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
STATIC_URL = '/static/'
# 静态文件配置路径 有修改 后期部署环节需要删掉
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]
这个settings.py的内容先不用管,后面我会在附录中放一份我翻译后的settings.py文件。
urls.py
现在,我们项目中有两个urls.py,我们先修改在learn目录下的urls.py文件
"""learn URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('',include('hello.urls')),
path('admin/', admin.site.urls),
]
然后编写hello目录下的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.home,name='home'),
]
最后打开hello目录下的views.py文件。
写入下面的内容:
from django.shortcuts import render,HttpResponse
# Create your views here.
def home(request):
context = 'hello world!'
return HttpResponse(context)
运行项目
把终端切换到根目录下,有manage.py文件的目录就是根目录。
使用下面的命令运行项目。python manage.py runserver
通常终端哪里会有一堆红字,不用管。
打开浏览器,输入http://127.0.0.1:8000/
即可看到hello world!,这几个字。
说明项目运行成功。
至于为什么呢?留到后面总结哪里再讲。