Django的方法

---恢復內容開始---css

靜態文件的配置:

靜態文件:對已經寫好過了的文件,咱們只是拿過來用,那麼這個文件就能夠被稱爲靜態文件。前端

靜態文件能夠是:
  bootstrap一類的框架的的文件python

  image圖片文件夾mysql

  css樣式文件sql

  js文件夾數據庫

在django中全部的靜態文件都存放在static文件夾下django

  通常存放的子文件夾bootstrap

  css文件夾  當前網站的css樣式文件後端

  js文件夾  當前網站的js文件前端框架

  image文件夾  圖片文件夾

  其 他(前端框架代碼 第三方插件代碼...

你的靜態文件若是要想在django中有效的話,那麼必須在settings中配置一下

配置:

  STATICFILES_DIRS = [

    os.path.join(BASE_DIR,'static'),

  ]

這樣你只要輸入相應的靜態文件的路徑就能夠有效的使用。

STATIC_URL = '/static/'  這個不是什麼文件夾的名字,而是接口前綴

只要你想要訪問靜態文件,那麼就必需要前面都必須是/static打頭,這個不是你的靜態文件夾的名字,而是接口前綴。後面纔是要找尋的路徑。

那個配置爲何是列表呢

  由於裏面能夠存放多個路徑,這個訪問不到訪問下一條,都沒有會報請求資源不存在。

動態解析接口前綴:

{% load static %}  這個是初步導入接口前綴

 <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">

<script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>

一些注意事項:

一個端口號就啓動一個django項目,省得出bug

用戶能夠訪問到的資源放在url中,也就是說url中設定什麼資源,用戶就能夠訪問到相應的資源。

 

FORM表單默認的提交方式是get請求

攜帶數據的方式是url後面問號跟數據

http://127.0.0.1:8000/login/?username=zekai&password=123

 

另外請求改爲post後要去settings裏面去註釋掉一箇中間件

MIDDLEWARE = [
            'django.middleware.security.SecurityMiddleware',
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.middleware.common.CommonMiddleware',
            # 'django.middleware.csrf.CsrfViewMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
            'django.contrib.messages.middleware.MessageMiddleware',
            'django.middleware.clickjacking.XFrameOptionsMiddleware',
        ]

form表單提交數據的目的地是由action控制的

  1.不填,默認是當前文件所在路徑

  2.填全路徑

  3.寫後綴

視圖函數通常是先處理get請求的

request這個參數是wsgi這個模塊幫咱們處理的,跟wsgiref模塊裏面的env很類似,都是請求相關的數據

獲取請求的方法就是

request.method

GET:

  request.GET獲取前端get請求的數據(相似一個大字典)

  request.GET.get('name')  這個默認是獲取最後的值

  request.GET.getlist('hobby')  這個是獲取所有

POST:

  request.POST是獲取前端post請求攜帶的數據(相似於一個大字典)

  request.POST.get('name')這個默認是獲取最後的值

  request.POST.getlist('hobby')  這個是獲取所有

 

 

parcharm操做數據庫

就是database那個按鈕,使用的時候別忘了裝插件先

 

django操做mysql

django默認使用的是自帶的splite3數據庫,小型數據庫。

若是想要使用其餘的數據庫就要在settings配置文件中從新配置

DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'NAME': 'day51',
                'HOST':'127.0.0.1',
                'PORT':3306,
                'USER':'root',
                'PASSWORD':'123',
            }

配置完後還要在項目文件夾或者應用名文件夾下的__init__文件中替換已經不兼容的mysql_db這個

默認鏈接mysql的。

import pymysql
pymysql.install_as_MySQLdb()

django的orm

ORM:對象關係映射

類---------表

對象-----------表中記錄

對象的屬性---------記錄上字段對應的值

 

首先要在models.py這個文件上寫模型表類

class User(models.Model):
    # 將id字段設置爲User表主鍵字段  在django orm中 你能夠不寫主鍵字典      
    django會默認給你的表建立一個名爲id的主鍵字段
   # id = models.AutoField(primary_key=True)  # 一旦你本身指定了主鍵字段 那麼django就不會自動再幫你建立了
      username = models.CharField(max_length=32)  # username varchar(32)   CharField必需要指定max_length參數
      password = models.IntegerField()  # password int    

 

數據庫遷移(同步)記錄的條指令

python manage.py   makemigrations  這個只是將操做記錄下來,但並無同步到數據庫中

python manage.py  migrate   這個是真正同步到數據庫中

注意注意!!!!:

一旦表中字段發生改變就要執行這條指令,一條用於記錄操做,一條用於真正同步

表字段的增刪改查

  就是在類中加字段,但要記住,若是表已經建好了,那麼再新增字段有2種方式

  1.給新增的字段設置默認值

    addr = models.CharField(max_length=32,default='China')

  2.讓新增的字段能夠爲空

    null=True

 

刪(慎用):

  就是註釋那個字段,而後執行 python manage.py makemigrations 和python manage.py migrate這2條指令

數據的增刪改查

查:

  先導入models

  models.User.objects  這3個參數不管增刪改查都是固定的

  models.User.objects.all()  這個是查全部=select * from User;

  model.User.objects.get(name=name) 這個是獲取對象自己,若是不存在則會報錯

  res = models.User.objects.filter(username=username)  這個獲取的是列表套對象,能夠經過索引0拿對象,但不建議,建議用first()拿對象,由於裏面已經封裝好了。

  查詢出來的queryset對象都有一個query方法能夠獲取原生的sql語句

增:
  1.models.User.objects.create(username=username,password=password)

  2.user_obj = models.User(username=username,password=password)

    user_obj.save()

 

刪:
  models.User.objects.filter(條件).delete()

  1.models.User.objects.filter(條件).update()

  2.user_obj.name=username

   user_obj.save()

 

總結:

用戶的增刪改查

1.經過orm展現全部到前端

  all()

  模板語法for循環

2.添加新增按鈕

  a標籤的href直接觸發後端邏輯

  create()

編輯和刪除按鈕

利用get請求攜帶的數據,在url後面跟問號加對應數據的id值,

若是是編輯就從新渲染一個頁面,若是是刪除直接操做就好。

相關文章
相關標籤/搜索