使用PyCharm创建Django项目及基本配置详解


Posted in Python onOctober 24, 2018

pycharm是个很不错的python开发工具,大大缩短了python项目的创建时间以及调试时间

在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘:

1、创建项目

使用PyCharm创建Django项目及基本配置详解

如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本:

使用PyCharm创建Django项目及基本配置详解

创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后:

使用PyCharm创建Django项目及基本配置详解

出现上面的页面,则正面项目创建成功

目录结构:

使用PyCharm创建Django项目及基本配置详解

2、创建APP

在Django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等,相互之间比较独立,但也有联系,所有APP共享项目资源

使用PyCharm创建Django项目及基本配置详解

输入:python manage.py startapp myapp

生成myapp文件夹

3、视图和url配置

myapp/views.py文件代码:

from django.http import HttpResponse     #需要导入HttpResponse模块

def hello(request):             #request参数必须有,名字类似self的默认规则,可以修改,它封装了用户请求的所有内容
  return HttpResponse("Hello world ! ")  #不能直接字符串,必须是由这个类封装,此为Django规则

testDjango/urls.py文件代码:

from myapp import views           #首先需要导入对应APP的views

urlpatterns = [
  url(r'^admin/', admin.site.urls),    #admin后台路由
  url(r'^hello$', views.hello),      #你定义的路由,第一个参数为引号中的正则表达式,第二个参数业务逻辑函数(当前为views中的hello函数)
]

运行项目:

命令行的方式是:python manage.py runserver 127.0.0.1:8000

但是在pycharm中可以使用如下方法:

使用PyCharm创建Django项目及基本配置详解

使用PyCharm创建Django项目及基本配置详解

使用PyCharm创建Django项目及基本配置详解

使用PyCharm创建Django项目及基本配置详解

4、Django模板

修改views文件:

def hello(request):
  # return HttpResponse("Hello world ! ")
  context = {}
  context['hello'] = 'Hello World!'        #数据绑定
  return render(request, 'hello.html', context)  #将绑定的数据传入前台

被继承的模板:

{#base.html#}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模板测试</title>
</head>
<body>
  <h1>{{ hello }}</h1>
  <p>Django模板测试</p>
  {% block mainbody %}
    <p>original</p>
  {% endblock %}
</body>
</html>

hello.html 中继承 base.html,并替换特定 block,hello.html 修改后的代码如下:

{#hello.html#}
{% extends "base.html" %}
 
{% block mainbody %}<p>继承了 base.html 文件</p>
{% endblock %}

重新访问地址 http://127.0.0.1:8000/hello,输出结果如下:

使用PyCharm创建Django项目及基本配置详解

5、引入静态文件

需要将一些静态资源引入项目,新建一个static目录,可以将js、css等文件放入这个目录中:

使用PyCharm创建Django项目及基本配置详解

需要让Django找到这个目录,需要在setting文件中进行配置:

使用PyCharm创建Django项目及基本配置详解

在html文件中引入静态资源:

{% load staticfiles %}
{#base.html#}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="{% static 'css/mypage.css' %}" rel="external nofollow" >
  <script src="{% static 'js/jquery-1.11.1.js' %}"></script>
<title>模板测试</title>
</head>
  <body>
    <h1>{{ hello }}</h1>
    <p>Django模板测试</p>
    {% block mainbody %}
      <p>original</p>
    {% endblock %}
  </body>
</html>

第一行引入静态文件路径{% load staticfiles %},在<head>...</head>里加入CSS网链和js文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
打印出python 当前全局变量和入口参数的所有属性
Jul 01 Python
python获得图片base64编码示例
Jan 16 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
django rest framework 过滤时间操作
Jul 12 Python
Django返回HTML文件的实现方法
Sep 17 Python
pycharm 关闭search everywhere的解决操作
Jan 15 Python
python实现在图片上画特定大小角度矩形框
Oct 24 #Python
python多进程使用及线程池的使用方法代码详解
Oct 24 #Python
python实现图片筛选程序
Oct 24 #Python
用pycharm开发django项目示例代码
Oct 24 #Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 #Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 #Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 #Python
You might like
php格式文件打开的四种方法
2018/02/24 PHP
jquery蒙版控件实现代码
2010/12/08 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
2018/11/13 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
python采集博客中上传的QQ截图文件
2014/07/18 Python
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
python中的格式化输出用法总结
2016/07/28 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
工作违纪检讨书
2014/02/17 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
庆祝教师节标语
2014/10/09 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
项目经理岗位职责
2015/01/31 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python