Django项目实践一

本文介绍了从Python 3.7安装到Django项目实践的详细步骤,包括在Windows和Linux环境下安装Python、Django,设置环境变量,使用PyCharm创建项目,启动开发服务器,以及Django中的URL配置、视图模板调用、表单处理和错误排查。此外,还提到了openpyxl、jQuery AJAX和Python小数处理等技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>>> import django    #检查
>>> django.get_version()
  • 下载 安装pycharm专业版
    打开 http://idea.lanyus.com/
  • 创建项目,使用自己机器上的python编译器。添加app名称,IDE会默认创建app相关文件和配置。
    在这里插入图片描述
  • 启动服务
    在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用
    可以在Terminal运行如下命令启动服务器:
    python manage.py runserver(默认127.0.0.1:8000 也可以使用0.0.0.0:8888这样可以再其他机器访问此端口的这个服务)
    在这里插入图片描述
    如果增加、修改、删除python文件,服务器会自动重启
    如果想关闭服务器可以使用ctrl+c或点击run窗口的红色方块按钮
    当然可以直接在目录上启动服务,以上是为了方便开发使用。
  • 视图调用模板简写
    视图调用模板都要执行以上三部分,于是Django提供了一个函数render封装了以上代码
    方法render包含3个参数
    第一个参数为request对象
    第二个参数为模板文件路径
    第三个参数为字典,表示向模板中传递的上下文数据
    打开booktst/views.py文件,调用render的代码如下
#coding:utf-8

from django.shortcuts import render

def index(request):
    return render(request,'booktest/index.html',{'title':'图书列表','list':range(10)})
  • django.urls path 拼写url正则表达式报错?
    在使用Django的时候,多次遇到urls与path,不知道两者有什么区别。下面简单介绍一下两者

在django>=2.0的版本,urls.py中的django.conf.urls已经被django.urls所取代。

django.urls的用法:

from django.urls import path
from . import view
 
urlpatterns = [
    path('', view.hello),
    path('world/', view.world)
]

其中最大的改变如下:import urls被import path所取代

如果是路径需要在路径的后面加上一个斜杠 /

旧版本如下:

from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^hello$', view.hello),
]

新版本如下:

from django.urls import path
from . import view
 
urlpatterns = [
    path('hello/', view.hello),
  • 提交表单 MultiValueDictKeyError
    在这里插入图片描述原因:
    找了好久原因,不是语法的错误,而是逻辑错误。不应该在matrix.html页面传参,matrix是接收参数跳转的页面。解决方法就是新起了一个search.html的页面,进行传参。
def getSchedule(request):
    context={}
    pid=request.GET['pid']
    sid=request.GET['sid']
    context["list"]=task(pid,sid)
    return render(request,"matrix.html",context)
  • 使用openpyxl
    https://www.cnblogs.com/anpengapple/p/6399304.html
    eg:行添加,直接用sheet.append(rowlist)
  • AJAX的四种异步请求方式
    简单理解jQuery中 . g e t J S O N 、 .getJSON、 .getJSON.get、 . p o s t 、 .post、 .post.ajax用法
    https://www.cnblogs.com/dongsh/p/3235487.html
  • 由于用 jQuery 实现 ajax 比较简单,所以我们用 jQuery库来实现
  • js调试 console.log
  • Django 后台返回
    数组:return HttpResponse(json.dumps(a), content_type=‘application/json’)
    字典:return HttpResponse(json.dumps(name_dict), content_type=‘application/json’)
  • url前面加/,指的是根目录。不加则指的是当前页面的子路径。
    在这里插入图片描述
  • js清空标签内容:KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲result").html("…("#result").val("")
    val是value的缩写 是给value属性赋值而已 并不是清空节点内的html元素
    但是你如果html(‘2’) 就会变成2 虽然这个写法不对 但是这个意思
  • python小数处理
    获取小数点小数部分
import math
a = 123.34
b = math.modf(a)#分开两部分
print(b)                 #(0.3400000000000034, 123.0)
print('%.2f' % b[0])     #保留两位小数0.34
  • python3.5中,import sqlite3 出现 no module named _sqlite3的解决方法
    检查自己有没有安装sqlite-devel(rpm -qa |grep sqlite-devel) ,没有的话yum -y install sqlite-devel
    然后进入到Python目录,(cd python目录)
    然后命令行输入./configure,然后make和make install
    这个时候可以输入python,进入python环境后,import sqlite3,看还会不会报错。
  • ImportError: No module named openpyxl,xlrd
    pip install openpyxl
  • ImportError: No module named ‘requests’
    pip install requests
  • How to fix error: django.db.utils.NotSupportedError: URIs not supported
    这个问题浪费了很长的时间解决,首先是尝试升级qlite的版本,但是升级后依旧不能解决,最后根据提示中的目录将base.py中的字段改后解决了。即参考文章中的第一个方法。摘自:https://blog.youkuaiyun.com/zhuangmezhuang/article/details/82776272
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值