Django(1)--安装与文件解析
django下载
1.11版本最后一个支持python2版本
- 命令行下载
pip install django==1.11.25 -i https://pypi.tuna.tsinghua.edu.cn/simple/ #指定清华源下载
pip install django #下载2.2
pip list #查看已下载的模块
pip uninstall 模块 #卸载模块
# 安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
import django
print(django.get_version()) #查看Django版本
python -m django --version #查看Django版本
- pycharm安装
创建项目
- 命令行
django-admin startproject mysite #创建一个Django项目
django-admin startapp app01 #创建一个app
# 创建项目后生成文件
mysite/
├── manage.py # 管理项目文件
└── mysite # 项目目录
├── __init__.py #空的
├── settings.py # 配置
├── urls.py # 路由 --> URL和函数的对应关系
└── wsgi.py # runserver命令就使用wsgiref模块做简单的web server
- pycharm创建
- 公司做项目的时候才用到虚拟环境
- templates #模板以后专门存放HTML文件的目录
启动项目
- 命令行
cd mysite/
python manage.py runserver
python manage.py runserver 0.0.0.0:80 #指定ip与端口(起项目开启),默认的IP是127.0.0.1:8000
- pycharm
- 如果别人的项目有个.idea的目录那是别人的pycharm设置,可以在pycharm中删除掉,下次点项目的根目录
Django的配置
- settings.py
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#BASE_DIR 项目根目录
DEBUG = True # 调试为True,开发阶段是True,上线的时候改为False
ALLOWED_HOSTS = ['*'] #允许所有访问
INSTALLED_APPS # Django内置APP,APP注册
ROOT_URLCONF = 'bookmanager.urls' #通过这个找文件
TEMPLATES = #模板
'DIRS': [os.path.join(BASE_DIR, 'templates')] #pycharm帮忙生成的,自己创建'DIRS'[]是空的,要自己写入
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', #默认一个文件数据库
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
STATIC_URL = '/static/' #静态文件配置,以'/static/'开头静态文件的别名
- urls.py
from django.shortcuts import HttpResponse
def index(request): #request参数固定
# 业务逻辑
return HttpResponse('<h1>ok</h1>') #必须返回一个对象,(‘具体的值’)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/',index),
]
#浏览器访问127.0.0.1:8000/index
- templates
# 新建index.HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 style="color: aqua">hello</h1>
</body>
</html>
- views.py
from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import HttpResponse,render
def index(request):
# return HttpResponse('ok')
return render(request,'index.html') #请求一个具体的页面
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/',index),
]