今天编程学习网为大家讲解如何使用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
至此,Django项目已经建立完毕。
2将网页模板移植到DJANGO项目中
1、在myapp文件下新建两个文件夹,static和templates,static文件夹放置网页模板的css、js以及其他文件夹,templates文件夹只放.html的文件
2、对Django项目的四个文件进行修改,因为将模板移植到Django项目中,需要在模板文件中进行一些格式修改。
setting.py
在里面添加自己的APP,添加模板的文件夹路径
url.py
新加以下语句
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',
在下添加下面语句,表示下面的模板由Django接管
以下为Django下的一些语句格式例子
<script src="{% static "js\highcharts.js" %}"></script>
{% if line.user == data2.user %}
{% if line.psw == data2.psw %}
<Meta http-equiv="refresh" content="1;url=index">
{% endif %}
{% endif %}
{% endfor %}
3数据交互
views.py
首先定义一个list,如user_list[ ],用于存放数据
数据的方法为POST,所以在响应函数中加一个判断语句
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})//将数据送回到页面
4数据库的操作
需要更改三个文件
setting.py
Django有自己自带的数据库
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), #Django自带的数据库
}
}
先创建models
user = models.CharField(max_length=32)
psw = models.CharField(max_length=32)
只要动了models.py,就要在terminal中输入以下两个语句
python manage.py makemigrations
python manage.py migrate
新加下面语句
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教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10407/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料