Maison  >  Article  >  développement back-end  >  Premiers pas avec Django Framework 1.0

Premiers pas avec Django Framework 1.0

做棵大树
做棵大树original
2020-05-26 18:45:142071parcourir

Outils de développement : PyCharm Community Edition ou Professional Edition + ligne de commande CMD

La différence entre l'édition communautaire et l'édition professionnelle est que l'édition professionnelle peut exécutez directement les projets Django Create, tandis que l'édition communautaire doit être créée manuellement. Puisque nous ne faisons que commencer, il est préférable pour nous de le créer manuellement, ce qui nous aidera à nous familiariser avec les commandes Django et les opérations associées.

Créer un programme Django minimal

Créer un nouveau projet de framework Web

Nous allons dans l'interface de ligne de commande jusqu'au répertoire où nous voulons créer le projet, puis saisissons la commande suivante :

django-admin startproject mysite

Voici django-admin un outil de gestion de Django Lorsque nous installerons Django, les dépendances seront installées par défaut. mysite est le nom du projet et peut être modifié selon vos propres besoins. Après la création, nous obtiendrons la structure de répertoires suivante :

Premiers pas avec Django Framework 1.0
Structure minimale du répertoire du projet

Modifier le projet et ajouter Fonction

Ici, nous devons ajouter des applications spécifiques et ajouter des fonctions associées en configurant le cartographie d'itinéraire .

Quelle est la relation entre le projet et l'application ?

  • Le projet correspond à un site internet et est un ensemble de configurations et d'applications
    Porteur de fonctions
  • Séparation de. la configuration et la fonction sont une manifestation d'une grande modularité
  • 【Modifier le projet】Créer une application spécifique (app)
    Commande :
  1. Une fois la commande exécutée, un nouveau Répertoire

python manage.py startapp helloapprépertoire helloapp

helloapp

Premiers pas avec Django Framework 1.0[Projet de modification] Modifier le
<code class="hljs"><span class="hljs-comment"># Create your views here.</span><br/><span class="hljs-keyword">from</span> django.http <span class="hljs-keyword">import</span> HttpResponse<br/><br/><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">hello</span><span class="hljs-params">(request)</span>:</span><br/><span class="hljs-keyword">return</span> HttpResponse(<span class="hljs-string">"Hello World! I am coming..."</span>)<br/></code>
  1. [Modifier le projet] Modifier l'URL routage views.py

    Spécifiez le chemin entre l'URL et la fonction de traitement dans le fichier
    du répertoire correspondant à la relation du nom du projet.
  2. <code class="hljs"><span class="hljs-keyword">from</span> django.contrib <span class="hljs-keyword">import</span> admin<br/><span class="hljs-keyword">from</span> django.urls <span class="hljs-keyword">import</span> include, path<br/><span class="hljs-keyword">from</span> helloapp <span class="hljs-keyword">import</span> views      <span class="hljs-comment"># from the subapp import related views</span><br/><br/>urlpatterns = [                 <span class="hljs-comment"># config the routes like vue&#39;s vue-router</span><br/>    path(<span class="hljs-string">&#39;admin/&#39;</span>, admin.site.urls),<br/>    path(<span class="hljs-string">&#39;index/&#39;</span>, views.hello),<br/>]<br/></code>
  3. Nous devons d'abord introduire le fichier de vues sous l'application correspondante, puis configurer la correspondance de routage

    urls.py

    [Projet de modification] Modifier l'URL routage

  4. Le premier paramètre représente ici l'adresse url, et ce que nous avons ici répondra à l'accès de
    ce chemin représente la spécification d'un certain traitement ; fonction, par exemple Ici nous avons formulé

    .

    path('index/', views.hello)

    Visitez la page

    域名/index/views.hello

    Premiers pas avec Django Framework 1.0
    Exécuter le projet

Après l'exécution, lorsque nous accédons à la route correspondante, nous obtiendrons les informations de retour correspondantes si nous accédons à une route non configurée, 404 non trouvés seront renvoyés.

python manage.py runserverCe que j'ai à dire

et

django-adminmanage.py django-admin

django-admin est un outil de gestion global pour le framework Django :

Créer et gérer des projets Djangodjango-admin <command> [options]</command>

Créer et gérer la base de données utilisée par les projets Django
  • Contrôler le débogage ou les informations de journalisation
  • Exécuter et maintenir le projet Django
  • Nous pouvons également utiliser la commande
  • pour afficher plus de fonctionnalités
manage.py

django-admin help

a des fonctions similaires à , mais la portée ne s'applique qu'au projet en cours.

Nous pouvons également afficher plus de fonctions via la commande

. python manage.py <command> [options]</command>

django-admin

Amélioration du programme minimal

python manage.py help

Exigence : Renvoyer une page HTML au lieu d'une chaîne Idée : Créez un modèle (T), répondez à des demandes spécifiques et revenez à la page du modèleCréez une nouvelle application hello2app et accédez-y via index2

Créez une nouvelle application hello2app

`python manage.py startapp hello2app`

使用templateTest.html为返回页面,修改views.py

```python
# hello2app/views.py
from django.shortcuts import render
def hello(request):
    return render(request, "PYC01-HTMLJSDemo.html")
```

这里,`render()` 是一个打包函数,第一个参数是 request, 第二个参数是要返回的模板页面。
  • 在hello2app应用中,新增urls.py文件(本地路由文件)

    <code class="hljs"><span class="hljs-comment"># hello2app/urls.py</span><br/><br/><span class="hljs-keyword">from</span> django.urls <span class="hljs-keyword">import</span> path<br/><span class="hljs-keyword">from</span> . <span class="hljs-keyword">import</span> views         <span class="hljs-comment"># . 代表当前 app</span><br/>urlpatterns = [             <span class="hljs-comment"># urlpatterns 变量名成是固定的</span><br/>    path(<span class="hljs-string">&#39;&#39;</span>, views.hello)<br/>]<br/></code>
  • 在全局路由文件中增加对本应用路由文件的引用

    <code class="hljs"><span class="hljs-comment"># mysite/urls.py</span><br/><br/><span class="hljs-keyword">from</span> django.contrib <span class="hljs-keyword">import</span> admin<br/><span class="hljs-keyword">from</span> django.urls <span class="hljs-keyword">import</span> include, path<br/><span class="hljs-comment"># include()函数,用于引入其他路由文件</span><br/><span class="hljs-keyword">from</span> helloapp <span class="hljs-keyword">import</span> views<br/>urlpatterns = [<br/>    path(<span class="hljs-string">&#39;index2/&#39;</span>, include(<span class="hljs-string">&#39;hello2app.urls&#39;</span>)),<br/>    <span class="hljs-comment"># 将hello2app的局部路由增加到全局路由中</span><br/>    path(<span class="hljs-string">&#39;index/&#39;</span>, views.hello),<br/>    path(<span class="hljs-string">&#39;admin/&#39;</span>, admin.site.urls),<br/>]<br/></code>
  • 设置模板路径,让Django框架找到模板所在目录

    我们由于返回了模板文件,所以我们需要对 mysite/settings.py 进行修改配置一下路径,至此,也就完成了一个最小的Django项目了!

    <code class="hljs">TEMPLATES = [<br/>{<br/>    <span class="hljs-string">&#39;BACKEND&#39;</span>: <span class="hljs-string">&#39;django.template.backends.django.DjangoTemplates&#39;</span>,<br/>    <span class="hljs-string">&#39;DIRS&#39;</span>: [os.path.join(BASE_DIR, <span class="hljs-string">&#39;hello2app/templates&#39;</span>)],    <span class="hljs-comment"># 指定templates所在路径</span><br/>    <span class="hljs-string">&#39;APP_DIRS&#39;</span>: <span class="hljs-literal">True</span>,<br/>    <span class="hljs-string">&#39;OPTIONS&#39;</span>: {<br/>        <span class="hljs-string">&#39;context_processors&#39;</span>: [<br/>            <span class="hljs-string">&#39;django.template.context_processors.debug&#39;</span>,<br/>            <span class="hljs-string">&#39;django.template.context_processors.request&#39;</span>,<br/>            <span class="hljs-string">&#39;django.contrib.auth.context_processors.auth&#39;</span>,<br/>            <span class="hljs-string">&#39;django.contrib.messages.context_processors.messages&#39;</span>,<br/>            ],<br/>        },<br/>    },<br/>]<br/></code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn