本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
如何使用Python的Django框架创建自己的网站
manongba · 698浏览 · 发布于2019-10-11 +关注

如何使用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名

20191010153012523.jpg

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


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

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

20191010154709619.jpg


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


1.setting.py

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

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




2.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),

20191010184318880.jpg


3.views.py

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

def index(request):
    return render(request, 'index.html',


4.xx.html

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

{% load static %}


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

<script src="{% static "js\highcharts.js" %}"></script>


{% for line in data1 %}
      {% if line.user == data2.user %}
            {% if line.psw == data2.psw %}
               <Meta http-equiv="refresh" content="1;url=index">
            {% endif %}
        {% endif %}
{% endfor %}


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


3数据交互

1.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})//将数据送回到页面



2.xx.html

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

{% for line in data1 %}
   line.user = data1.user
   line.psw = data1.psw
{% endfor %}


4数据库的操作

需要更改三个文件

1.setting.py

Django有自己自带的数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), #Django自带的数据库
    }
}


2.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


3.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,或者直接将变量定义在函数里


转自CSDN博主「weixin_44913038」https://blog.csdn.net/weixin_44913038/article/details/102488475


相关推荐

PHP实现部分字符隐藏

沙雕mars · 1327浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 910浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 974浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 964浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1090浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页