django基础

知识点:

  1. 基本认知

  2. 工具准备

  3. 新建项目

  4. 目录及文件说明

  5. 开发服务器

  6. 创建视图函数

  7. 新建应用(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

DJango 基础 (1)的更多相关文章

  1. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  2. Django 基础教程

    Django 基础教程 这是第一篇 Django 简介 »  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...

  3. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  4. Python学习(二十六)—— Django基础一

    转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...

  5. Django基础(一)

    Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...

  6. python3之Django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  7. Django基础和基本使用

    Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...

  8. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  9. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

随机推荐

  1. linux日常命令之三

    一.换行符 linux换行符为\n,而windows换行符为\r\n. 因此,linux的原生文本文件,换行符为\n,而windows为\r\n:将linux文件拷贝至windows,换行符保持不变, ...

  2. hdu 1166 (单点更新+区间求和+裸题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...

  3. centos安装多个tomcat

    1.参考前文安装jdk.第一个tomcat 2.安装第二个tomcat后,修改/etc/profile vi /etc/profile #tomcat1 export CATALINA_BASE=/o ...

  4. 通过用户名&密码验证访问远程共享文件夹 C#

    通过代码先在cmd中运行net use进行验证,然后就可访问共享文件了. 验证方法如下: public string connectState(string path/*要访问的文件路径*/, str ...

  5. Oracle的导入和导出

    导出命令: EXP 用户名/密码@数据库名  BUFFER=64000 file=G:\dmp\full1.dmp  OWNER=用户名 导入命令: IMP 用户名/密码@数据库名 BUFFER=64 ...

  6. 一篇讲解如何调试pg 扩展的文章

    以下链接这片关于pg 扩展调试的文章挺不错,记录下 http://big-elephants.com/2015-10/writing-postgres-extensions-part-iii/     ...

  7. oracle错误汇总1

    这是遇见的第一个整个库正常,但某张表查询报错的情况 某张表数据可以查,但一排序查就报错 select * from acct_daily_bak; select * from acct_daily_b ...

  8. django 路由分发

    对于一个大的工程,可能会有很多应用,比如cmbd,moniter,openstack等等,我们就要用到路由分发 1,首先在跟工程同名的文件夹下的urls中写分发表: from django.conf. ...

  9. awk 进阶,百万行文件取交集

    今天我们说的不是简单的交集,而是如下示例: file1: as,er,gf,1212kl,iop,121378,jkl,uio,jki,1214vbnm,yuoi,678i,1215sadfasdf, ...

  10. 黄聪:通过 itms:services://? 在线安装ipa ,跨过appstore

    1.需要一个html文件,引导下载用户在线安装ipa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo ...