django基础
知识点:
基本认知
工具准备
新建项目
目录及文件说明
开发服务器
创建视图函数
新建应用(app)
1.基本认知
Django
是用Python
开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!
Web
应用框架(Web application framework
)是一种开发框架,用来支持动态网站,网络应用程序及网络服务的开发。
http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理。Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户。
2.工具准备
linux (ubuntu) + python3 + pycharm + mysql
python3:virtualenv,django,pymysql
安装django: pip install django==1.11.7
注意:django1.11和django2.0版本有些区别, 本次案例以1.11.7为主.
创建虚拟环境并在虚拟环境中安装好django1.11.7
(py3env) pyvip@Vip:~$ workon
envpy2
py3env
pydjtest
(py3env) pyvip@Vip:~$ mkvirtualenv -p /usr/bin/python3 pydjts11
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/pyvip/.virtualenvs/pydjts11/bin/python3
Also creating executable in /home/pyvip/.virtualenvs/pydjts11/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/pyvip/.virtualenvs/pydjts11/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/pyvip/.virtualenvs/pydjts11/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/pyvip/.virtualenvs/pydjts11/bin/preactivate
virtualenvwrapper.user_scripts creating /home/pyvip/.virtualenvs/pydjts11/bin/postactivate
virtualenvwrapper.user_scripts creating /home/pyvip/.virtualenvs/pydjts11/bin/get_env_details
(pydjts11) pyvip@Vip:~$ pip install django==1.11.7
Collecting django==1.11.7
Using cached https://files.pythonhosted.org/packages/15/d8/b17afdcd527026d2f1acd30ac33406e6b22c0f573a3c14b2d9e0bd7df945/Django-1.11.7-py2.py3-none-any.whl
Collecting pytz (from django==1.11.7)
Using cached https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-1.11.7 pytz-2018.4
(pydjts11) pyvip@Vip:~$ pip list
Package Version
---------- -------
Django 1.11.7
pip 10.0.1
pytz 2018.4
setuptools 39.1.0
wheel 0.31.0
(pydjts11) pyvip@Vip:~$
3.新建项目
两种方式:
1.在命令行中创建:
django-admin startproject hello_django1
2.在pycharm编辑器中创建:
4.Django目录及文件说明
├── hello_django
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
manage.py django中的一个命令行工具,管理django项目
__init__.py 空文件,告诉python这个目录是python包
setting.py 配置文件,包含数据库信息,调试标志,静态文件等。
urls.py Django项目的URL声明
wsgi.py 部署服务器用到的
5.开发服务器
因为我们用的是linux上面的环境,所以为了让我们在windows的浏览器上能访问到我们的服务器,那么需要修改setting.py的文件,将里面的ALLOWED_HOSTS = []
改成ALLOWED_HOSTS = ['*']
,这样才能使我们在本地能访问到我们linux上面的服务器。
linux虚拟机网络连接方式是nat端口转发时,需要设置http服务8000端口的转发:
将配置文件和端口都设置好后就可以去运行我们的服务,开服务开启.
开启服务的命令:python manage.py runserver 0:8000
pycharm中有两种方式可以开启服务.
1.在pycharm中的配置,在运行服务器配置的页面改成0.0.0.0的host ,然后保存运行.
打开settings.py,把ALLOWED_HOSTS = [] 改成 ALLOWED_HOSTS = ["*"]
2.在Tool工具,点击Run manage.py Task... ,这样就能打开项目的manage管理器,然后在下面输入运行服务器的命令runserver 0.0.0.0:8000
当服务启动后,我们打开浏览器输入ip:端口回车就能看到It workd!
的页面,这就说明我们已经访问到了我们linux上面的django开发服务器了。
注意: 从这些开启的方式中选择一种方便的去开启服务就可以了,不要重复操作, 重复操作端口就会被占用.
6.创建视图函数
在项目目录下创建views.py视图函数
# hello_django/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse('hello django!')
定义试图函数相关的URL(hello_django/urls.py)
# hello_django/urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', views.index),
]
文件保存好后,检查服务器是否正常运行,然后在浏览器上输入ip地址:8000端口/hello
就能在网页上查看到hello django!
7.新建应用(app)
一个项目可以包含多个应用,下面是创建应用的命令:
python manage.py startapp movie
在pycharm中打开项目的manage管理器, 然后输入创建应用的命令startapp appname