一、安装环境

参考:

https://docs.djangoproject.com/zh-hans

https://www.runoob.com/django/django-install.html

https://docs.qq.com/doc/DSHlYb3JoYVlETXh4 (要登录 pa qq)

1.0 虚拟环境安装

参考:https://www.cnblogs.com/chenxi188/p/10700608.html

用于解决移植,多版本等问题

#第一步:安装环境支持[linux下在前加sudo] http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl
pip install virtualenv #第二步,先进入想要的保存环境目录位置,再新建虚拟环境
virtualenv scrapytest #第三步,进入虚拟环境的目录
#a.显示当前目录所有文件
dir
#b.进入刚建的目录
cd scrapytest
#c.进入脚本目录:
cd scripts #【第四步】:进入虚拟环境输入如下命令之后即可使用虚拟环境,它本质和正常环境没区别:
activate.bat # 【第五步】:退出虚拟环境
#a.先退出python
exit()
#b.退出虚拟环境(执行此文件)[linux下:进入bin目录 source deactivate]
deactivate.bat 第六步(同二步):创建需要指定python版本[系统默认是3.7,则创建2.7版]-p 表示版本
#最后的名称随便取
virtualenv -p C:\Python\python27\python.exe scrapypy2

1.1 安装django

pip install Django

#用国内源加速安装
pip install -i https://pypi.doubanio.com/simple/ django #[扩展知识]卸载django(不要用)[linux下在前加sudo]
pip uninstall django

二、创建django项目

进入我们想要放项目的目录(直接在指定目录右键+shift---此处打开命令提示符),输入如下命令,创建 Django 项目:

2.0创建项目语法

django-admin.py startproject project1

#或默认打开了文件django-admin.py则用如下命令
django-admin startproject project1

2.1 运行项目

运行项目:

cd project1  # 切换到我们创建的项目
$ python manage.py runserver
……
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

在浏览器打开网址:127.0.0.1:8000

即可看到发射的火箭效果。

2.2 在指定端口打开项目

运行命令说明: 0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

py manage.py runserver

#或指定商品运行
python manage.py runserver 0.0.0.0:8000

2.3 项目结构介绍

创建完成后我们可以查看下项目的目录结构:

$ cd project1
$ tree
#或 windows 显示所有文件要加 /f
tree /f
.
|-- project1
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py

2.4 项目目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

三、创建项目的应用(app)

3.0 创建应用语法:

整个项目是由一个个子应用组成的(应用:相当于建立一个子功能模块)。

py manage.py startapp app1

python mange.py startapp app1

3.0.1完成后,项目目录:

D:\a\django-app\project1>tree /f
卷 本地磁盘 的文件夹 PATH 列表
卷序列号为 18A9-EAFD
D:.
│ db.sqlite3
│ manage.py
├─app1
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ __init__.py
│ │
│ ├─migrations

└─project1
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py

3.1 应用注册

  1. 一个应用创建完成后需要进行注册,才能使用它
  2. 建立应用和项目之间的联系,需要对应用进行注册:

    修改 \project1\project1\settings.py 中的INSTALLED_APPS配置项
# -*- coding: UTF-8 -*-
#因为加了中文所以头部要加上上面一行文字
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1', #要注册的应用,如果有文件夹则:[ 文件夹名.app1 ]
]

3.2 创建应用的第1个【视图】页面

1)在 project1/app1/view.py 文件,输入代码:

from django.http import HttpResponse

def index(request):
return HttpResponse("Hello world ! ")

注:视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hello world就是返回给浏览器显示的内容。

2)接着,添加并配置app1/urls.py



project1/app1/urls.py 文件代码:

from django.urls import path
from . import views urlpatterns=[
path('app1/',views.index),
]

或用url方法配置app1/urls.py路径【django3.x报错误】

from django.conf.urls import url
from booktest import views
# index
# index2
# index2/
# 在应用的urls文件中进行url配置的时候:
# 1.严格匹配开头和结尾
urlpatterns = [
# 通过url函数设置url路由配置项
url(r'^index$', views.index), # 建立/index和视图index之间的关系
url(r'^index2$', views.index2),
url(r'^books$', views.show_books), # 显示图书信息
url(r'^books/(\d+)$', views.detail), # 显示英雄信息
]

3)配置project1/urls.py

from django.contrib import admin
from django.urls import path,include urlpatterns = [
path('admin/', admin.site.urls),
path('',include('app1.urls')),
]

或用url方法配置project1/urls.py路径【django3.x报错误】

from django.conf.urls import include, url
from django.contrib import admin # 项目的urls文件
# index
# index2
# index2/
# aindex
urlpatterns = [
url(r'^admin/', include(admin.site.urls)), # 配置项目
url(r'^', include('booktest.urls')), # 包含booktest应用中的urls文件

4)效果:刷新localhost:8000/index页面显示

hello world !

3.3 path() 函数用法

Django path() 可以接收四个参数,分别是:

  1. 两个必选参数:route、view
  2. 两个可选参数:kwargs、name。

语法格式:

path(route, view, kwargs=None, name=None)

  1. route:字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
  2. view:用于执行与正则表达式匹配的 URL 请求。
  3. kwargs:视图使用的字典类型的参数。
  4. name:用来反向获取 URL。

3.4 url()函数的用法【django3.x报错误】

配置的目的是让建立url和视图函数的对应关系。url配置项定义在urlpatterns的列表中,每一个配置项都调用url函数。

  • url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作。

配置url时,有两种语法格式:

  • url(正则表达式,视图函数名)
  • url(正则表达式,include(应用中的urls文件))

    工作中在配置url时,首先在项目的urls.py文件中添加配置项时,并不写具体的url和视图函数之间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系。

3.5 url()匹配的过程

在项目的urls.py文件中包含具体应用的urls.py文件,应用的urls.py文件中写url和视图函数的对应关系。

当用户输入如http://127.0.0.1:8000/aindex时,去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到应用的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello python给浏览器来显示。

Django(一)基础:安装环境、创建项目、视图、创建一个项目的应用(app)的更多相关文章

  1. Vue Create 创建一个新项目 命令行创建和视图创建

    Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...

  2. Eclipse使当前项目依赖另一个项目

    实例说明 在Eclipse中可以创建多个项目实现不同的软件开发,也可以使用多个项目来开发单独的大型软件,每个项目负责单独的模块部门,这样可以使软件的模块分类更清晰,可以单独的维护每个模块部分.但是项目 ...

  3. eclipse中一个项目引用另一个项目的方法(申明:来源于网络)

    eclipse中一个项目引用另一个项目的方法(申明:来源于网络) 地址:http://blog.csdn.net/a942980741/article/details/39990699

  4. Android studio 一个项目引入另一个项目作为Libary

    1.在我们开发Android项目时,有时需要一个项目作为另一个项目的工具类的引用,这样就需要配置下,使得MyLibrary到MyApplication作为一个module. 我们直接截图上步骤: 1. ...

  5. Eclipse中一个项目调用另一个项目的资源

    如果一个项目A想要引用另一个项目B的资源的话,按照一下步骤进行设置: 右键点击项目A---->>>Build Path--->>>Configure Build P ...

  6. MyEclipse2016项目内复制一个项目,如何更改项目的访问路径

    在MyEclipse2010版本如果复制了一个项目,需要改项目的访问路径的话,可以选中项目右键,点开Properties,在顶部搜索web,就会出现如下内容,这是只需要在里面更改路径就可以了. 而在2 ...

  7. eclipse中一个项目引用另一个项目的方法

    我们在开发的时候,有时候需要把一个大的项目打散,尤其是现在微服务的架构很流行,一个大的项目往往被拆成很多小的项目,而有的项目作为公共工程被独立出来,比如有个工程专门提供各种Util工具类,有的工程专门 ...

  8. springBoot框架在idea中创建流程 同时存在一个项目中

    1.新建普通maven工程 2.在父级pom中按需修改 3.删除父级src目录 4.创建公共模块common,里面只有service接口和实体类 5.构建微服务模块,provider 6.引用Zook ...

  9. eclipse中一个项目引用另一个项目,运行报:java.lang.NoClassDefFoundError

    项目右击-properties-Java Build Path -Porjects-add.选中了某个项目. 项目用tomcat启动时,报错:java.lang.NoClassDefFoundErro ...

  10. Eclipse 构建Maven项目--普通web项目 复制另外一个项目的配置文件导致的问题

随机推荐

  1. 借助工具解决DNS污染

    我第一次接触到DNS污染,是在GitHub上面进行学习的时候,发现头像加载出问题,加载失败,而且文档里面的图片也无法显示...... 百度了很多内容,差不多都试了一下,最终选择了使用DNS工具去解决 ...

  2. idea 控制台中文乱码 解决方法

    添加 -Dfile.encoding=UTF-8

  3. Linux命令:sed命令

    sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏 ...

  4. ORACLE CPU过高的sql查询

    1. 根据占用CPU高的进程号来查询这个进程执行的SQL语句: CPU过高的进程号: #首先找到CPU过高的进程号 # top -bn1 是静态找到占用最高的进程   [root@localhost ...

  5. 解决IE打开时,弹出的提示调用active的问题,阻止js运行。

    在html和head中间加上: <!-- saved from url=(0014)about:internet -->

  6. Oracle常用命令复习(备考资料)

    Oracle期末考试复习资料,大概的总结了常用的命令,不包括基础理论知识,有的不太考的东西没有整理.资料整理是在有道云笔记里完成的,在这里重新编辑太麻烦了,就附个链接了. 文档:Oracle命令复习2 ...

  7. 「ZJOI2007」捉迷藏

    题目描述 给出一棵\(N\)个有色(黑白,黑色对应关灯,白色对应开灯)节点的树以及\(M\)次操作,每次操作将改变一个节点的颜色或者求出树上最远的两个白点距离 基本思路 \(60pts\)做法 这道题 ...

  8. 修改gho打造个性ghostxp光盘

    一.更换OEM信息(更改用户名.公司名与电脑名的方法 1.用软碟通提取出ghostxp中的gho镜像文件. 2.,用GHOSTEXP .EXE打开这个GHO文件,提取sysprep目录下的syspre ...

  9. Lesson 13 The search for oil

    What do oilmen want to achieve as soon as they strike oil? The deepest holes of all are made for oil ...

  10. sdfsdsf

    1 $('.advert-title').each(function(){ 2 var TXTlength = $(this).text().length; // 当前文本的长度 3 if(TXTle ...