如何使用Python的Django框架创建自己的网站

  Django建站主要分四步:1、创建Django项目,2、将网页模板移植到Django项目中,3、数据交互,4、数据库

  1创建Django项目

  本人使用的是pycharm编辑器,打开pycharm,如下图点击左下角红框位置,选择terminal,然后在terminal窗口输入

  django-admin.py startproject myproject

  然后再输入

  python manage.py startapp myapp

  上面的myproject和myapp都是自己定义的工程名和APP名

  至此,Django项目已经建立完毕。

  2将网页模板移植到Django项目中

  1、在myapp文件下新建两个文件夹,static和templates,static文件夹放置网页模板的css、js以及其他文件夹,templates文件夹只放.html的文件

  2、对Django项目的四个文件进行修改,因为将模板移植到Django项目中,需要在模板文件中进行一些格式修改。

  setting.py

  在里面添加自己的APP,添加模板的文件夹路径

  'DIRS': [os.path.join(BASE_DIR,'templates')],

  url.py

  新加以下语句

  from django.urls import path

  from django.conf import settings

  from django.conf.urls.static import static

  from myapp import views

  然后再添加网页的路径

  path('login', views.login),

  

  views.py

  定义一个响应函数,函数名必须和网页的xx.html前缀名相同

  def index(request):

  return render(request, 'index.html',

  xx.html

  在下添加下面语句,表示下面的模板由Django接管

  {% load static %}

  以下为Django下的一些语句格式例子

  {% for line in data1 %}

  {% if line.user == data2.user %}

  {% if line.psw == data2.psw %}

  {% endif %}

  {% endif %}

  {% endfor %}

  可以看出在路径和for循环if判断语句中都要用{% %}。

  3数据交互

  views.py

  首先定义一个list,如user_list[ ],用于存放数据

  数据的方法为POST,所以在响应函数中加一个判断语句

  def login(request):

  if request.method == "POST":

  username = request.POST.get("username", None)//将用户输入的数据存到变量中

  password = request.POST.get("password", None)

  user_list = {"user": username, "psw": password}

  return render(request, 'login.html', {"data1": user_list})//将数据送回到页面

  xx.html无锡看妇科医院哪家好 http://mobile.wxbhnkyy39.com/

  数据返回到页面后,通过for循环读取

  {% for line in data1 %}

  line.user = data1.user

  line.psw = data1.psw

  {% endfor %}

  4数据库的操作

  需要更改三个文件

  setting.py

  Django有自己自带的数据库

  DATABASES = {

  'default': {

  'ENGINE': 'django.db.backends.sqlite3',

  'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), #Django自带的数据库

  }

  }

  models.py

  先创建models

  class UserInfo(models.Model):

  user = models.CharField(max_length=32)

  psw = models.CharField(max_length=32)

  只要动了models.py,就要在terminal中输入以下两个语句

  python manage.py makemigrations

  python manage.py migrate

  views.py

  新加下面语句

  from myapp import models

  给数据库写入数据

  models.UserInfo.objects.create(user="zhoupeng", psw="123456")

  读取数据库数据

  user_list = models.UserInfo.objects.all()

  可以直接在网页中读数据库进行操作

  在admin.py文件中加入以下语句

  from myapp.models import UserInfo

  admin.site.register(UserInfo)

  然后创建超级用户

  在terminal中输入

  python manage.py createsuperuser

  即可在http:/ /admin中对数据库进行操作

  至此,一个完整的Django项目就完成了。

  调式过程的心得

  1、调试过程出现任何bug首先看一下自己是不是有那里拼写错误

  2、有的时候调试很久,什么都没有错,但网页就是刷新不出来,但是过一段时间却自动好了,有可能是端口的问题,换个端口试一下

  3、中的login为点击submit时要跳转的页面,写错会出现page not found,对于method,有数据是为post,无数据是为get

  4、在url.py中 path(’’, views.login)和path(‘index’, views.index)的区别,前者的url为http:/…/后者为http:/…/index

  5、出现错误为“Local variable xxx referenced before assignment”,就是局部变量和全局变量的问题,在响应函数中加global xxx,或者直接将变量定义在函数里

如何使用Python的Django框架创建自己的网站的更多相关文章

  1. Python的Django框架中的Context使用

    Python的Django框架中的Context使用 近期整理些Python方面的知识,一旦你创建一个 Template 对象,你能够用 context 来传递数据给它. 一个context是一系列变 ...

  2. 将Python的Django框架与认证系统整合的方法

    将Python的Django框架与认证系统整合的方法 这篇文章主要介绍了将Python的Django框架与认证系统整合的方法,包括指定认证后台和编写认证后台等内容,需要的朋友可以参考下 将Django ...

  3. Python的Django框架中forms表单类的使用方法详解

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  4. Python的Django框架中的Cookie相关处理

    Python的Django框架中的Cookie相关处理 浏览器的开发人员在非常早的时候就已经意识到. HTTP's 的无状态会对Web开发人员带来非常大的问题,于是(cookies)应运而生. coo ...

  5. Python的Django框架中的URL配置与松耦合

    Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...

  6. Python之Django框架

    1.Django简介 Python下有多款不同的 Web 框架,Django是最有代表性的一种.许多成功的网站和APP都基于Django. Django是一个开源的Web应用框架,由Python写成. ...

  7. Django框架学习——python模拟Django框架(转载)

    原贴来源 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython/AbtWebModules python实现web服务器 web开发首先要有web服务器 ...

  8. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

    12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...

  9. python 之 Django框架(服务器程序和应用程序、基础必备三件套及相关配置)

    第十二章 Django框架 12.1 服务器程序和应用程序 服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发, ...

随机推荐

  1. 【Linux】Windows终端远程链接Linux服务器

    一.Windows cmd ssh链接 1.控制面板->程序->启用Telnet客户端 2.输入命令链接 cmd中输入 ssh 账号名@服务器ip地址:端口号 例如: ssh root@1 ...

  2. zy的日志报表执行有问题。crontab显示执行了任务,代码中应该有问题

    crontab定时任务在日志记录中是执行了 但是在执行脚本的过程中报错了, 找不到问题原因,以后也要在脚本中加入日志记录, 但是奇怪的是在中午和晚上是正常的, 应该是那个时间段的判断逻辑有问题,导致程 ...

  3. K8s容器资源限制

    在K8s中定义Pod中运行容器有两个维度的限制: 1. 资源需求:即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod. 如: Pod运行至少需要2G内存,1核CPU    2. 资源限额: ...

  4. bat无线热点设置

    netsh wlan set hostednetwork mode=allow ssid=happyla key=1234567890netsh wlan start hostednetwork

  5. concurrent(七)ConcurrentHashMap源码分析

    参考文档:https://www.cnblogs.com/xiaoxi/p/7474026.html https://www.ibm.com/developerworks/cn/java/java-l ...

  6. Gamma展示

    团队成员简介 团队成员 角色 个人博客地址 刘峻辰 后端开发 刘峻辰 焦云鹏 后端开发 焦云鹏 赵智源 测试&服务器部署 赵智源 肖萌威 前端开发 肖萌威 杨亦鑫 前端开发 杨亦鑫 戴荣 UI ...

  7. docker 挂载主机目录 -v 和 --mount区别

    使用-v  时,如果宿主机上没有这个文件,也会自动创建, 但是如果使用--mount时,宿主机中没有这个文件会报错找不到这个文件,并创建失败

  8. 《Linux就该这么学》培训笔记_ch14_使用DHCP动态管理主机地址

    <Linux就该这么学>培训笔记_ch14_使用DHCP动态管理主机地址 文章最后会post上书本的笔记照片. 文章主要内容: 动态主机地址管理协议 部署dhcpd服务程序 自动管理IP地 ...

  9. jdk 1.6 新特性

    JDK1.6新特性 1.DestTop类和SystemTray类 前者用于调度操作系统中的一些功能,例如: · 可以打开系统默认浏览器指定的URL地址: · 打开系统默认邮件客户端给指定的邮箱发信息: ...

  10. phpcms新建模板页教程

    phpcms新建模板页教程1 直接去template文件夹里的复制的模板页 比方说list1.html2 去后台 界面模板风格 default 默认模板 点击详情列表 找到list1.htm 设置中文 ...