首页 > 其他 > 详细

1、Django安装和基本操作

时间:2021-05-22 23:40:13      阅读:33      评论:0      收藏:0      [点我收藏+]

一、Django的准备工作

Django是一个由 Python 编写的一个开放源代码的 Web 应用框架。使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,下面我们就来看看Django的具体操作吧

1、Django安装

# 1、使用命令行按照
pip3 install django==1.11.11

# 2、使用PyCharm安装
打开PyCharm,点击左上角的文件,然后点击项目里的Python解释器,看见+号,点击进去搜索Django安装即可

2、验证是否安装成功

# 在PyCharm终端输入验证是否安装成功
django-admin

3、添加环境变量

# 安装好之后,为了能在终端顺利创建Django项目,我们需要找到Django的bin目录,将其添加到系统的环境变量当中去

二、django基本操作

1、项目创建

# 在创建项目首先我们需要切换到对应的硬盘(根据需求来)例如
cd py-wh
# 还可以返回上一级路径
cd..

# 1、使用命令行创建项目
django-admin startproject mysite(项目名)

# 2、可以使用pycharm创建项目
右上角new oriject,选择左侧第二个django,然后创建

2、创建应用

我们启动完Django项目以后应该开始创建一个应用名,命令如下

# 一定要进入mysite项目文件下再创建应用名
python manage.py startapp app01(应用名)

我们为什么要创建应用?

如果说Django框架就类似于是一所大学(空壳子),那么app就类似于大学里面各个学院(具体功能的应用)

举个例子,比如我们开发淘宝,淘宝有订单相关,用户相关
,投诉相关的各种功能,那不同的app就对应不同的功能

所以应用名应该做到见名知意,例如user、order、web,因为现在只是在练习,所以就随便取了个app01这个名字,在工作中最好不要这样起名字哦

3、项目的启动

# 1、命令行启动
python manage.py runserver

# 2、pycharm启动
点击绿色小箭头即可

如何让你的计算机能够正常的启动django项目

1.计算机的名称不能有中文
2.一个pycharm窗口只开一个项目(不要文件夹套文件夹)
3.项目里面所有的文件也尽量不要出现中文
4.python解释器尽量使用3.4~3.6之间的版本
(如果你的项目报错 你点击最后一个报错信息
去源码中把逗号删掉)

4、命令行与pycharm创建的区别

# 1、命令行创建不会自动有templatew文件夹,需要你自己手动创建,而pycharm会自动帮你创建并且还会自动在配置文件中配置对应的路径

# 我们可以看看pycharm创建的项目中,settings.py配置文件下的是这样的(截取片段)
TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)]

# 而命令行创建的项目中配置文件下的内容是这样的
TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘DIRS‘: [],

# 这意味着我们在使用命令创建django项目的时候不单单需要创建templates文件夹还需要去配置文件中配置路径
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)]

5、应用配置注册

# 我们创建的应用一定要去settings.py配置文件中注册,否则项目会不识别应用
INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘app01.apps.App01Config‘,  # 应用配置注册的全写
  	‘app02‘,  # 我们也可以简写
]

# 我们使用pycharm创建项目的时候,在下面可以选择创建一个app并且命名,pycharm会帮忙自动注册应用配置,但也只能注册一个,如果还需要创建应用,就需要手动注册了

三、Django主要文件介绍

-mysite  # 项目文件夹
	--mysite文件夹  # 项目文件夹
  		---settings.py  # 配置文件
    	---urls.py  # 路由与视图函数对应关系(路由层)
    	---wsgi.py  # wsgiref模块(暂时不考虑)
	--manage.py  # django的入口文件
    --db.sqlite3 # django自带的sqlite3数据库(小型数据库,功能不是很多还有bug)
  
	--app01  # 应用文件夹
    	---migrations文件夹  # 数据库迁移记录
  		---admin.py  # django后台管理
    	---apps.py  # 注册使用
        ---models.py  # 数据库相关的 模型类(orm)
  		---tests.py  # 测试文件
    	---views.py  # 视图函数(视图层)

四、django小白必会三板斧

HttpResponse
# 返回字符串类型的数据

render
# 返回html文件的

redirect
# 重定向

这三个字母到底是用来干什么的?不急,下面我们就来了解一下

1、路由层

# 首先我们先来到urls.py路由层来看看里面有些什么

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
]

我们知道路由层是用来 介绍路由与视图函数对应关系的,所以这段内容很明显,肯定和APP文件夹下的views.py视图层有关,有没有关系,我们来试一试就知道了

from django.conf.urls import url
from django.contrib import admin

from APP01.views import index  # 导入index文件

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^index/‘, index),  # 按照上一行的代码写就完事了
]

搞定完上面的代码,然后下一步视图层

2、视图层

# 在views.py文件,直接导入三板斧
from django.shortcuts import render, HttpResponse, redirect

# 然后书写视图函数
def index(request):  # 参数request:请求相关所有的数据对象
    return HttpResponse(‘哈喽,沃德!‘)  # 返回字符串类型的数据

# 然后我们就可以去网页尾部加上index看看效果
http://127.0.0.1:8000/index/
# 结果肯定是显示 
哈喽,沃德!

接下来的【render返回html文件】和【redirect重定向】也如法炮制,和HttpResponse一模一样的用法,这里我就不写了,直接拿上面的index演示把

def index(request):
    return render(request, ‘user.html‘)  # 导入html文件
# 首先你要有个html文件,html文件都是在templates文件下的

def index(request):
    return redirect(‘https://www.mzitu.com/‘)  # 跳转到其他网址
	return redirect(‘/home/‘)  # 还可以跳转到自己的页面,自己的网址可以只写后缀

3、render两种传值方式

render可以在后端为HTML文件传值,这样HTML文件在浏览器可以显示后端传值过来的数据了

# views.py文件
from django.shortcuts import render, HttpResponse, redirect


def index(request):  # 视图函数必须要接受一个形参request
    user_dict = {‘username‘:‘jason‘,‘age‘:18}
    # 第一种传值方式:更加的精确 节省资源
    return render(request,‘user.html‘,{‘data‘:user_dict})
    
    # 第二种传值方式:当你要传的数据特别多的时候
    return render(request,‘user.html‘,locals())
	# locals会将所在的名称空间中所有的名字全部传递给html页面

然后我们在user.html文件下写入下面代码,就可以在浏览器看到后端传来的数据了

<body>
{{ data }}   
</body>

1、Django安装和基本操作

原文:https://www.cnblogs.com/poco/p/14800002.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!