Django的初识

简介:

【背景】

1 确保安装了pip python包的管理工具

2 确保你的python环境是3.x(因为django版本1.8以上需要python 3支持了)

    如果你是centos用户或者python版本不是python 3 请使用pyenv工具实现多版本python版本吧





【安装】

1
pip  install  django


【验证】

可以正常import django模块

wKiom1dBkL2z2tyZAAA1QS1QumA181.png




【使用django搭建一个简单的项目】


step1:创建一个项目

使用管理工具django-admin.py命令创建一个项目firstproject

1
django-admin.py startproject firstproject


结果:

wKioL1dBkvXyoLYiAAA_x9ypmfE339.png

目录说明:

  • firstproject: 项目的容器。

  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

  • firstproject/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。

  • firstproject/settings.py: 该 Django 项目的设置/配置。

  • firstproject/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。

  • firstproject/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。



step2:测试并启动程序提供web访问

1
2
cd  firstproject/
python manage.py runserver 0.0.0.0:80

注意: 如果没有指定80端口,默认是8000端口


结果:

wKioL1dBlDPguBsgAABgzBuVRWs377.png当然看到提示:

1 你还没有在这个项目下面建立app应用

2 你也没有配置url



set3 在这个firstproject项目建立第一个应用app(blog)

1
python manage.py startapp blog


默认生成了blog这个目录,目录下面的文件介绍

__init__.py python包的标识

admin.py   

apps.py

migrations  数据库迁移相关暂时可以忽略

models.py  数据库模型建表等用途,暂时可以忽略

tests.py    

views.py    views视图,暂时可以忽略



每个文件下,都有默认的内容! 这就是django把很多都是都集成了的原因!

wKiom1dBlHLjAcTwAABXbDfaUqk630.png



step4: 将新建的应用加入django管理当中,添加到setting配置文件中,让django能够识别找到

vim firstproject/settings.py 


# Application definition


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'blog',

]


注意:新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) 


step5:编辑自定义视图函数

你应考虑你访问一个网站 https://www.douban.com/photos/album/1628799196/

django内部是如何处理photos/album/1628799196/这些url呢?


我们开始我们简答的views修改和urls定义:


编辑blog这个app目录下的views.py文件:


from django.http import HttpResponse


def index(request):

    return HttpResponse('this is my blog')



导入入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含getpost的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。


测试访问: 192.168.100.10/index

wKiom1dBmO2zKniPAABlvzSKfzE268.png

原因是:django中没有定义index这个url路径的处理方式



step6:定义视图函数相关的URL(网址) (即规定 访问什么网址对应什么内容)

编辑项目下的urls管理文件      vim firstproject/urls.py,  将刚才需要处理的index函数和/index路径对应起来! 下面admin/是系统默认的, 我们添加的那句意思是路径index/开头的的,转发到blog下面的views文件下面的index函数(views.index这是python的表示方法,你应该懂得)



from blog import views


urlpatterns = [

    url(r'^index/', views.index),

    url(r'^admin/', admin.site.urls),

]



注意: 以上这中方式是函数式的添加url的方法


当然实际运用当中,我们对于首页一般处理的方式是
url(r'^$', views.index)  这样的表示




测试:

wKioL1dBnaHTlzNHAABByLeAx8A918.png

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1775961如需转载请自行联系原作者


cuizhiliang

相关文章
|
算法 前端开发 程序员
初识Django(一)
什么Django        Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
1601 0
|
关系型数据库 MySQL 程序员
|
缓存 算法 Java
Django学习笔记-初识Django
初识Django 以前搞过一段时间的java web,也做过一些项目。现在试一试python的Django框架吧。 总体上做网站需要的基本功: 前端相关知识(HTML, CSS, JS, JQuery等等) Linux 基础命令 数据库,缓存等相关知识 HTTP协议相关内容,包括其他的计算机网络知识(TCP/IP协议) 算法,数据结构等知识(基本的数据结构和算法要会) 操作系统原理等 那么这次为什么要使用Django呢?明明java web已经会了啊。
1583 0
|
15天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
102 44
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
176 4
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
152 1
|
16天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
29 2
|
19天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
28 1
|
2月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
119 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
24 4