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

yipeiwu_com6年前Python基础

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

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

1、创建项目


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

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


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

目录结构:

2、创建APP

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


输入: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中可以使用如下方法:

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,输出结果如下:

5、引入静态文件

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

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

在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 jieba库用法及实例解析

Python jieba库用法及实例解析

1、jieba库基本介绍 (1)、jieba库概述 jieba是优秀的中文分词第三方库 - 中文文本需要通过分词获得单个的词语 - jieba是优秀的中文分词第三方库,需要额...

Python使用QQ邮箱发送Email的方法实例

Python使用QQ邮箱发送Email的方法实例

前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能。 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。不了...

Python实现的多线程端口扫描工具分享

Python实现的多线程端口扫描工具分享

昨晚今晚写了两晚,总算把Py Port Scanner 写完了,姑且称之为0.1版本,算是一个Python多线程端口扫描工具。 水平有限,实话中间有一些困惑和不解的地方,代码可能也写的比...

Python Des加密解密如何实现软件注册码机器码

Python Des加密解密如何实现软件注册码机器码

这篇文章主要介绍了Python Des加密解密如何实现软件注册码机器码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 原理 判断...

运用PyTorch动手搭建一个共享单车预测器

运用PyTorch动手搭建一个共享单车预测器

本文摘自 《深度学习原理与PyTorch实战》 我们将从预测某地的共享单车数量这个实际问题出发,带领读者走进神经网络的殿堂,运用PyTorch动手搭建一个共享单车预测器,在实战过程中掌握...