初探Django

初探Django - 1 熟悉MVC结构的话挺容易上手的

django部署虚拟环境


##  安装所需软件包
sudo dnf install mariadb mariadb-server python3-virtualenv python3-devel
##  配置mysql
mysql_secure_installation
##  建立虚拟Python环境
cd ~
python3 -m virtualenv DjangoDevelop
cd DjangoDevelop
source bin/activate #进入虚拟环境
pip install django
##  建立项目
django-admin startproject Project
cd Project
python manage.py runserver 127.0.0.1:8080
##  配置项目与mariadb链接
pip install pymysql
'''
Project/__init__.py
import pymysql
pymysql.install_as_MySQLdb()
---------------------------------------------
Project/setting.py
DATABASES = 
{
    'default':
        {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': "hello",
            'USER': "username",
            'PASSWORD': "password",
            'HOST': "127.0.0.1",
            'PORT': "3306",
            'OPTIONS': {'autocommit': True,}, #设置驱动自动提交
    }
}
'''

项目目录结构解析


├── manage.py #项目命令交互管理器
└── Project #项目容器
    ├── settings.py #项目配置
    ├── urls.py #URL路由
    └── wsgi.py #供nginx等web服务器调用的网关接口

编写index页面


  1. 新建views.py
  2. urls.py建立index路由
     from . import views
     url(r'^index/',views.index) #正则表达时匹配index/
    
  3. views.py建立
     from django.http import HttpResponse #调用httpresponse返回html内容
     def index(request): #建立index函数响应请求
         return HttpResponse("<h1><a href='https://www.slll.info' target='_blank'>www.slll.info</a></h1>") #返回html内容
    

建立APP及目录结构


python manage.py startapp App
-settings.py
INSTALLED_APPS = [
    'Project.App' #加入app到settings
]

目录结构

├── admin.py #不知道
├── apps.py #不知道
├── migrations #数据迁移模块
│   └── __init__.py
├── models.py #数据模块
├── tests.py #不知道
└── views.py #请求处理
-urls.py
import Project.App.views as apv
urlpatterns = [
    url(r'^index/', apv.index),
]
-App/views.py
from django.http import HttpResponse
def index(requests):
    return HttpResponse("hello")

建立数据表


建立数据表

-models.py
class AppUsers(models.Model):
    username = models.CharField(max_length=32,default='username', primary_key=True)
    password = models.CharField(max_length=32,default='password')

生成数据表

python manage.py makemigrations App
python manage.py migrate

获取数据库数据

-views.py
from . import models
def    index(requests):
    user_list = []
    users = models.AppUsers.objects.all() #get all
    #users = models.AppUsers.objects.get(username='admin') #get username 'admin'
    for obj in users:
        user_list.append({'username':obj.username,'password':obj.password})
    return render(request,'QSMoodle/login.html',{'user_list':user_list})

模板获取数据

{% for user in user_list %}
{{user}}
{% endfor %}
;

{{users.username}}

{{users.password}}

查阅资料


Linux Django部署

python3 添加mysql/mariadb支持

Django静态文件

7 thoughts on “初探Django”

  1. 看了一遍原文,不懂;又看了一遍原文,还是不懂。再看了一遍原文,实在不懂。最后看了一遍回帖,懂了我为什么不懂……于是我懂了,人有时候要学会放弃。

Leave a Reply

Your email address will not be published. Required fields are marked *