Home >Backend Development >Python Tutorial >Getting Started with Django Framework 1.0
Development tools: PyCharm community version or professional version CMD command line
The difference between the community version and the professional version is that the professional version can directly create Django projects , while the Community Edition needs to be created manually. Since we are all just getting started, it is better for us to create it manually, which will help us become familiar with Django commands and related operations.
We use the command line interface to enter the directory where we want to create the project, and then enter the following command:
django-admin startproject mysite
The django-admin
here is a tool for managing django. When we install django, dependencies will be installed by default. mysite
is the project name and can be modified according to your own needs. After creation, we will get the following directory structure:
We need to add specific application here, and add related functions by configuring routing mapping.
What is the relationship between project and app?
The project corresponds to a website, which is a collection of configurations and applications. Applications correspond to specific functions, which are specific Function carrier Separation of configuration and function is a manifestation of high modularity
Command: python manage.py startapp helloapp
After the command execution is completed, A new directory helloapp
will be created under the root directory
【Modify Project】Modify the application's views.py
<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>
【Modify the project】Modify the URL routing
in conjunction with the project name The path relationship between the URL and the processing function is specified in the urls.py
file in the corresponding directory.
<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's vue-router</span><br/> path(<span class="hljs-string">'admin/'</span>, admin.site.urls),<br/> path(<span class="hljs-string">'index/'</span>, views.hello),<br/>]<br/></code>
We first need to introduce the views file under the corresponding app, and then configure the routing correspondence
[Modification Project] Modify URL routing
path('index/', views.hello)
The first parameter here represents the url address, and what we have here will respond to domain name/index/
Access to this path; The second parameter indicates specifying a certain processing function, for example, here we have formulated views.hello
.
python manage.py runserver
and
manage.py
django-admin is a global management tool for the Django framework:
command to view more features
Function is similar to
, but the scope only applies to the current project. We can also view more functions through the
command.
Idea: Create a template (T), respond to specific requests, and return the template pageCreate a new hello2app applicationCreate a new hello2app and access it through index2
`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">''</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">'index2/'</span>, include(<span class="hljs-string">'hello2app.urls'</span>)),<br/> <span class="hljs-comment"># 将hello2app的局部路由增加到全局路由中</span><br/> path(<span class="hljs-string">'index/'</span>, views.hello),<br/> path(<span class="hljs-string">'admin/'</span>, admin.site.urls),<br/>]<br/></code>
设置模板路径,让Django框架找到模板所在目录
我们由于返回了模板文件,所以我们需要对 mysite/settings.py
进行修改配置一下路径,至此,也就完成了一个最小的Django项目了!
<code class="hljs">TEMPLATES = [<br/>{<br/> <span class="hljs-string">'BACKEND'</span>: <span class="hljs-string">'django.template.backends.django.DjangoTemplates'</span>,<br/> <span class="hljs-string">'DIRS'</span>: [os.path.join(BASE_DIR, <span class="hljs-string">'hello2app/templates'</span>)], <span class="hljs-comment"># 指定templates所在路径</span><br/> <span class="hljs-string">'APP_DIRS'</span>: <span class="hljs-literal">True</span>,<br/> <span class="hljs-string">'OPTIONS'</span>: {<br/> <span class="hljs-string">'context_processors'</span>: [<br/> <span class="hljs-string">'django.template.context_processors.debug'</span>,<br/> <span class="hljs-string">'django.template.context_processors.request'</span>,<br/> <span class="hljs-string">'django.contrib.auth.context_processors.auth'</span>,<br/> <span class="hljs-string">'django.contrib.messages.context_processors.messages'</span>,<br/> ],<br/> },<br/> },<br/>]<br/></code>
The above is the detailed content of Getting Started with Django Framework 1.0. For more information, please follow other related articles on the PHP Chinese website!