如何使用Python的Django框架创建自己的网站
如何使用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框架创建自己的网站的更多相关文章
- Python的Django框架中的Context使用
Python的Django框架中的Context使用 近期整理些Python方面的知识,一旦你创建一个 Template 对象,你能够用 context 来传递数据给它. 一个context是一系列变 ...
- 将Python的Django框架与认证系统整合的方法
将Python的Django框架与认证系统整合的方法 这篇文章主要介绍了将Python的Django框架与认证系统整合的方法,包括指定认证后台和编写认证后台等内容,需要的朋友可以参考下 将Django ...
- Python的Django框架中forms表单类的使用方法详解
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...
- Python的Django框架中的Cookie相关处理
Python的Django框架中的Cookie相关处理 浏览器的开发人员在非常早的时候就已经意识到. HTTP's 的无状态会对Web开发人员带来非常大的问题,于是(cookies)应运而生. coo ...
- Python的Django框架中的URL配置与松耦合
Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...
- Python之Django框架
1.Django简介 Python下有多款不同的 Web 框架,Django是最有代表性的一种.许多成功的网站和APP都基于Django. Django是一个开源的Web应用框架,由Python写成. ...
- Django框架学习——python模拟Django框架(转载)
原贴来源 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython/AbtWebModules python实现web服务器 web开发首先要有web服务器 ...
- python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...
- python 之 Django框架(服务器程序和应用程序、基础必备三件套及相关配置)
第十二章 Django框架 12.1 服务器程序和应用程序 服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发, ...
随机推荐
- css做的艺术字效果
Arctext.js 转自 http://tympanus.net/Development/Arctext/
- chromedriver对应chrome版本
chromedriver版本 支持的Chrome版本 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v64-66 v2.36 v6 ...
- html--前端css常用属性
1.颜色属性 <div style="color:blueviolet">ppppp</div> 输入颜色英文单词 <div style=" ...
- 阿里云centos 7上面安装mysql5.7的详细步骤!!!
前言: 网上太多的linux 的安装mysql教程,很多教程不全或者因为环境不一致导致无法成功安装,以下是亲测的可行性的方法,请参考. 步骤: Centos7操作系统YUM库列表里默认不再提供MySQ ...
- es4x 调用其他三方jar 包
es4x 使用了graalvm 作为运行时环境,所以即拥有vertx 的强大,又拥有了与java 代码便捷的通信能力 以下是一个简单的测试,同时也简单说明下es4x 的es4x-launcher.ja ...
- IIS 登录失败 该登陆名来自不受信任的域,不能与windows身份认证一起使用
原文:https://blog.csdn.net/hhw199112/article/details/80234462 错误: 登录失败 该登陆名来自不受信任的域,不能与windows身份认证一起使用 ...
- Codeforces886(Technocup2018) F Symmetric Projections
Codeforces886(Technocup2018) F Symmetric Projections You are given a set of n points on the plane. A ...
- 回溯法 | 图的m着色问题
学习链接:算法 图的M着色问题 虽然今早9点才醒来,10点才来教室,但是coding得很高效.吃个早餐,拉个粑粑的时间,就把算法书上的[图的m着色]问题看明白了,大脑里也形成了解决问题的框架. 其实这 ...
- 关于三层架构和MVC模式的思考
MVC模式 核心: 1.解耦Model和View,即使得Model可以被不同的展示,比如一批统计数据可以分别用柱状图.饼图表示 2.Controller用来保证Model和View的同步 Model ...
- glyphicons-halflings-regular.ttf:1 Failed to load resource: net::ERR_FILE_NOT_FOUND
下载替换 https://gitlab.com/mailman/mailman-website/tree/a97d6b4c5b29594004e3855f1ab1222449d0c211/conten ...