Django 学习笔记

虚拟环境

创建虚拟环境

python3 -m venv /path/to/new/virtual/environment

进入虚拟机

source /volume1/homes/admin/xianyu/bin/activate

安装Django

pip install Django==2.2.4

创建项目

步骤一

创建一个新项目:

在项目目录文件夹下

django-admin startproject mysite

路由文件夹下urls.py 添加一条路由,
创建文件,导入django.http

from django.http import HttpResponse

def index(request):
	return HttpResponse('Hello world')

启动开发服务器:

python manage.py runserver

开启django时,使用0.0.0.0:xxxx,作为ip和端口例如:

python manage.py runserver 0.0.0.0:9000

步骤二

创建一个article app

python3 manage.py startapp explorer

创建数据库文件

python3 manage.py makemigrations seller 

写入数据库

python3 manage.py migrate seller

步骤三

创建用户名:

python3 manage.py createsuperuser

更改后台密码:

python3 manage.py shell
In [1]: from django.contrib.auth.models import User
In [2]: user = User.objects.get(pk=1)  
In [3]: user
Out[3]: <User: zero>  #  管理员用户名

迁移静态文件

python3 manage.py collectstatic

小知识点

from django.shortcuts import render,render_to_response

reder和render_to_response方案大致相同,但是render_to_response不需要request

404还有个方案,get_object_or_404 (模型,条件)

article = get_object_or_404(Article, pk=article_id)

一次性获取内容和不存在的内容,如果内容不存在返回404
pk 是django默认的键值


将所有包打入requirements

pip3 freeze > requirements.txt
pip3 install -r requirements.txt
python manage.py createsuperuser

修改全局可访问

然后在settings.py 里修改

ALLOWED_HOSTS = [] ————> ALLOWED_HOSTS = [‘*’,]

注意不要漏掉“,”。

其他机器就可以通过这台机器的ip和端口号访问django了。

创建第一个djangoapp小结:

我们需要先创建一个app,使用:

python3 manage.py startapp apps_view

然后,在shop/views.py里增加一个def,此后我分别要在入口项目目录下的urls.py的urlpatterns里,注册我对应的url;并且在 settings.py的INSTALLED_APPS注册我的app

创建models和admin管理:

在当前app的models.py添加数据库models字段,
在主settings.py将上传文件的路径进行设置,
在主urls.py 静态页面路径的访问方法,

添加admin的访问方法


Django文件上传【单个/多个图片上传】

https://www.cnblogs.com/mosson/p/11059149.html

获取详情页内的内容:
从urls.py传入product_id,匹配product的pk,使用X.object.get()获取数据库中的值,再通过HttpResponse返回给浏览器

知识点:

<int:xxx>
x.object.get()

404
raise Http404(‘没有该商品’)

设置哪些字段可以点击进入编辑界面,默认是第一个字段

list_display_links = ('id', 'underwriter')

根据数据库生成 models

python3 manage.py inspectdb
python3 manage.py inspectdb > api/models.py

收集静态文件:

python3 manage.py collectstatic

发表回复

您的电子邮箱地址不会被公开。