1 Star 0 Fork 2

qeyser / django4.0

forked from 德阳热线 / django 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

从虚拟环境中导出项目用到的python第三方库:方便移植到其他服务器

pip freeze > requirements.txt

导出的requirements.txt文件存放在您命令提示符控制面板所在的目录,文件的名字可以自定义。 执行以下命令,安装python第三方库:

pip install -r requirements.txt

启动项目 (最后更新时间 20221018)

mysql版本 8.0.11 (版本不同可以导入到处SQL文件) 、 django 4.0.6 建议每次更新数据后都同步下sql文件,目录存于mysql_back文件夹下面 ,用于异地恢复数据

带版本号的安装:

pip install Django==4.0.6

创建项目 HelloWorld (可以随便取名):

django-admin startproject HelloWorld

在manage.py同级目录下创建投票小项目

python manage.py startapp polls

启动服务器: 进入 HelloWorld 目录CMD输入以下命令,

py manage.py runserver 0.0.0.0:8000 (记得启动Mysql)

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

如果远程访问项目提示问题DisallowedHost at / lnvalid Http_HOST header则需要修改setting.py文件ALLOWED_HOSTS = [] 改成ALLOWED_HOSTS = ['*']保存既可

如何在 Windows 上安装 Django------------------------------------

python下载 https://www.python.org/downloads/ 如选择版本3.10.5下载 https://www.python.org/downloads/release/python-3105/ 安装选自定义

查看python版本方法一,CMD下 输入: python

查看python版本方法二,CMD下 输入: py --version

CMD下 输入: pip list 可以查看Python中安装了哪些第三方库,如安装了Django那就会展示出来

https://docs.djangoproject.com/zh-hans/4.1/howto/windows/

每个Django项目配置一个虚拟环境----------------------------------

最佳实践是为你创建的每一个Django项目创建一个独立的环境。转至你想创建项目的文件夹,打开新的命令行窗口然后输入如下命令 ...> py -m venv project-name

这将创建一个文件夹叫“项目名称”

设置虚拟环境。激活环境, 运行:project-name\Scripts\activate.ba

虚拟环境就会激活,并且你会在命令提示符旁边看到 "(project-name)" 指向该环境。每次你打开新的命令行窗口,你需要再次激活环境。

Django安装----------------------------------

https://docs.djangoproject.com/zh-hans/4.1/topics/install/#installing-official-release

py -m pip install Django

这将下载并安装最新的 Django 发布版本。 安装完成后,你可以在命令提示符运行 django-admin --version 验证你安装的 Django。

建议在CMD下安装最简单(前提是先安装了python):

pip install Django==4.0.6

(有可能要先升级pip版本: python.exe -m pip install --upgrade pip )

查看版本 检查是否安装成功----------------------------------

方法一:CMD下输入:python -m django --version

方法二:cmd下先输入python 再

import django django.get_version()

创建第一个项目------------------------------

Django项目官方说明文档 https://docs.djangoproject.com/zh-hans/4.1/intro/tutorial01/

使用 django-admin 来创建 HelloWorld 项目容器(外层文件名HelloWorld可修改):

django-admin startproject HelloWorld


启动服务器: 进入 HelloWorld 目录输入以下命令,

python manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

如果远程访问项目提示问题DisallowedHost at / lnvalid Http_HOST header则需要修改setting.py文件ALLOWED_HOSTS = [] 改成ALLOWED_HOSTS = ['*']保存既可


在manage.py同级目录下创建投票小项目 python manage.py startapp polls

配置MYSQL数据库


pip install mysqlclient 安装python mysql链接组件

配置mysite.settings.py以下内容

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER':'django',
        'NAME':'djangoone',
        'HOST':'127.0.0.1',
        'PASSWORD':'123456',
        'PORT':'3306',
        'OPTIONS':{
            'init_command':"SET default_storage_engine=INNODB;",
        }
        # 'NAME': BASE_DIR / 'db.sqlite3',
    }
}

在polls.models.py内自定义模型类,

class Txl(models.Model):
    GENDER_CHOICES = (
        (0, '男'),
        (1, '女')
    )
    # name = models.ForeignKey(Choice, on_delete=models.CASCADE)
    name = models.CharField(max_length=200, default='无名氏',verbose_name='姓 名')
    content=models.TextField(default='通讯录标题',blank=True)     #这里blank=True作用是设置该字段为【非必填项】
    address = models.CharField(max_length=200,default='德阳市', verbose_name='地 址')
    gender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性 别')
    tel = models.CharField(max_length=200, default=135,blank=True, verbose_name='电话号码')
    workgroup = models.CharField(max_length=200, default='技术播出中心群')
    txl_add_date = models.DateTimeField('date published')
    photo = models.ImageField(upload_to = 'uploudfiles/txlinfo', default = '/static/images/bj.png')  #图片字段,错误提示需要安装python -m pip install Pillow

    #模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名。可通过db_table指明数据库表名。更换表名不影响数据
    class Meta:  
        db_table = 'txlinfo'
        verbose_name = '人物信息'


    def __str__(self):
        # return self.address
        return self.address[:50]+'...'   #配置详情修改页面的标题显示字段,只显示5个字符,多余的用...表示

注意:python -m pip install Pillow //定义图片字段的时候需要依赖包pillow

模型 迁移更新模型,更新数据库

python manage.py makemigrations 这个命令是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件001(此时数据库没有表) python manage.py migrate 而当我们执行前面这条命令主要作用就是把这些改动作用到数据库也就是执行migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性。

另外一个需要注意的是这两个命令默认情况下是作用于全局,也就是对所有最新更改的models或者migrations下面的迁移文件进行对应的操作,如果要想仅仅对部分app进行作用的话 则执行如下命令:

python manage.py makemigrations appname,

python manage.py migrate appname,

如果要想精确到某一个迁移文件则可以使用:

python manage.py migrate appname 文件名

创建后台用户名---------------------------

python manage.py createsuperuser

后台地址 http://127.0.0.1:8000/admin/

自定义后台----------------

Django默认的admin模板都可以被重写。 在manage.py文件同级下创建一个templates目录,在该目录下再创建一个admin目录。然后,打开设置文件mysite/settings.py,在TEMPLATES条目中添加一个DIRS选项:

'DIRS': [BASE_DIR / 'templates'], # 添加这一行

再创建一个admin目录,新疆一个模板base_site.html,内容如下

{% extends "admin/base.html" %}

{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">网站后台</a></h1>
{% endblock %}

{% block nav-global %}{% endblock %}

美化后台-------------------------------

pip install django-simpleui (安装说明:https://simpleui.72wo.com/docs/simpleui/doc.html#安装 ) 用pip或者源码方式安装simpleui后,在自己项目的settings.py文件中INSTALLED_APPS的第一行加入 'simpleui'

静态文件-------------------------------

当运行 python manage.py collectstatic 的时候 STATIC_ROOT 文件夹 是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的文件都复制过来 把这些文件放到一起是为了用apache等部署的时候更方便 以下三条是setting.py里的配置

SITE_ROOT = os.path.dirname(os.path.abspath(__file__))
SITE_ROOT = os.path.abspath(os.path.join(SITE_ROOT, '../'))
STATIC_ROOT = os.path.join(SITE_ROOT, 'collectedstatic')  #定义静态文件存储目录为collectedstatic

默认这条决定了文件调用路径 STATIC_URL = 'static/' 如

{% load static %}  #这段代码一定要放静态文件调用前
<body background="{% static 'images/bj.png' %}">

视图--------------------------

每个视图必须要做的只有两件事:返回一个包含被请求页面内容的 HttpResponse 对象,或者抛出一个异常,比如 Http404 。

Python

20200206_Python_1

python教程_零基础入门到精通, Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言

空文件

简介

python django学习之路,django后台优化、django+swagger 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/qeyser/django4.0.git
git@gitee.com:qeyser/django4.0.git
qeyser
django4.0
django4.0
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891