1、创建指定的虚拟化环境
mkvirtualnev django_py3_1.11 -p python3
2、安装Django
pip install django==1.11.11
3、Django 工程的创建
# cd ~Desktop/code
django-admin startproject 工程名称
django-admin startproject demo
4、Django 工程的运行
# 运行开发服务器
python manage.py runserver ip:端口
5、打开pycharm,配置运行环境为虚拟机上的环境
settings/Project:demo/Project Interpreter
6、Django中创建子应用的模块
# cd ~Desktop/code/demo
python manage.py startapp 子应用名称
7、为Django框架添加对应的user应用
# 打开对应的users/app.py文件
在文件中添加编写指定的UserConfig 配置
class UsersConfig(AppConfig):
name = "users"
# 将配置类添加到指定的INSTALLED_APPS中
INSTALLED_APP = [
'users.apps.UsersConfig' # 注册安装应用
]
8、Django工程中应用对应视图的创建
from django.http import HttpResponse
def index(request):
return HttpResponse("hello the world!")
# 视图创建完成后,配置对应的url 引导请求的用户进入到客户端中
from django.conf.urls import url
from . import views
urlpatterns = [
url(r"^index/$", views.index)
]
# 编写程序主入口,引导请求到对应的user应用中
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r"^users/", include("users.urls"))
]
# 启动django应用程序,验证结果
python manage.py runserver ip:端口
9、Django 应用程序配置文件说明
9-1、BASE_DIR :用于设置django项目工程的根目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# os.path.abspath(__file__) :获取当前settings.py文件的路径
# os.path.dirname():找到指定文件路径的上一级目录
9-2、开启DEBUG的配置模式,默认为False
DEBUG = True
ALLOWED_HOSTS = ['*'] 配置那些ip地址可以访问当前项目,配置*代表所有人可以访问
9-3、本地语言与时区配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
10、Django 对应静态文件的使用
# 在项目工程目录下创建静态文件存放的文件夹,static_file
# 在settings.py文件中进行对应static 静态文件的配置
STATIC_URL = '/static/' # 可以通过使用网址/static/文件在static_files中的路径来访问
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_files') # 设置静态文件存放的目录
]
11、Django 路由命名与reverse 反推
11-1、使用include函数定义路由时,可以使用namespace 参数
urlpatterns = [
url(r'^users/', include('users.urls', namespace='users')),
]
urlpatterns = [
# url(路径, 视图),
url(r'^say', views.say, name='say'),
]
def say(request):
url = reverse("users : index")
return HttpResponse("say page")
12、Django 通过URL提取参数
12-1、未命名参数
url(r'^weather/([a-z]+/(\d{4}))/$', views.weather)
# ----
def weather(request, city, year):
print city
print year
return HttpResponse('OK')
12-2、命名参数
url(r'^weather/(?P<city>[a-z]+/(?P<year>\d{4}))/$', views.weather)
# ----
def weather(request, city, year):
print city
print year
return HttpResponse('OK')