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

yipeiwu_com5年前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设计】。

相关文章

django 开发忘记密码通过邮箱找回功能示例

一、流程分析: 1.点击忘记密码====》forget.html页面,输入邮箱和验证码,发送验证链接网址的邮件====》发送成功,跳到send_success.html提示 2.到邮箱里...

python中Switch/Case实现的示例代码

学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。 使用...

PyTorch快速搭建神经网络及其保存提取方法详解

PyTorch快速搭建神经网络及其保存提取方法详解

有时候我们训练了一个模型, 希望保存它下次直接使用,不需要下次再花时间去训练 ,本节我们来讲解一下PyTorch快速搭建神经网络及其保存提取方法详解 一、PyTorch快速搭建神经网络...

Python判断对象是否相等及eq函数的讲解

摘要 什么是python对象的标识 python对象相等的判断 自定义python对象相等的条件 python对象的标识 python对象标识就是python对象自身的要...

Python内置函数 next的具体使用方法

Python 3中的File对象不支持next()方法。 Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目。 如果给定了默认值,则在迭代...