Джанго: Самый простой способ создать 2-страничный сайт? - PullRequest
0 голосов
/ 23 мая 2011

У меня есть сайт на PHP, который мне нужен для создания сайта django.Я удалил временный PHP-код (в любом случае, не так много кода), но у меня возникают проблемы с пониманием того, как работает django и как создать простой шаблон для отображения страницы.

Я знаю, что есть тысячи книги гиды там, но большинство из них идет слишком глубоко или не делает то, что мне нужно.Мне просто нужны две простые страницы, page1 и page2, которые будут доступны через domain.com/page1 и domain.com/page2.

Какой самый простой способ добиться этого?

Этоэто то, что у меня есть в моем файле urls.py до сих пор, это по крайней мере правильно?

from django.conf.urls.defaults import patterns, include, url

urlpatterns = patterns('',
    url(r'^$', 'mysite.views.page1', name='home'),
    url(r'^$page2', 'mysite.views.page2', name='page2'),
)

Очевидно, что теперь это не работает, потому что представления не создаются.

ЛюбыеПомощь очень ценится, // qwerty

Ответы [ 5 ]

3 голосов
/ 23 мая 2011

Я рекомендую пройтись по учебному пособию , вы узнаете все, что должен знать начинающий Django.

2 голосов
/ 23 мая 2011

Попробуйте это:

from django.conf.urls.defaults import patterns, include, url
from mysite.yourapp import views

urlpatterns = patterns('',
    url(r'^$', 'mysite.views.page1', name='home'),
    url(r'^page2/$', 'mysite.views.page2', name='page2'),
)

Бит r '^ page1 / $ является регулярным выражением Python

в вашем файле views.py определите ваши представления:

def page1:
 #something

Это должно помочь вам начать http://docs.djangoproject.com/en/1.3/intro/tutorial01/

1 голос
/ 25 августа 2018

Ну, я нашел самый простой способ:

1) urls.py

from django.urls import include, path
from . import views
from django.views.generic import TemplateView

urlpatterns = [
    path('test.html', TemplateView.as_view(template_name='main/test.html')),
]

2) шаблон / тест.html

Hello world!

Классические 3 шага:

1) urls.py

from django.urls import include, path
from . import views

urlpatterns = [
    path('test.html', views.test, name='test'),]

2) просмотров.py

from django.shortcuts import render

def test(request):
    return render(request, 'test.html')

3) templates / test.html

Hello world!
0 голосов
/ 23 мая 2011

Если вы используете более старый django, чем direct_to_template вам нужен общий вид.

from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
    (r'^page1/$', direct_to_template, {'template': 'page1.html'}),
    (r'^page2/$', direct_to_template, {'template': 'page2.html'}),
)

Или для более новой версии django 1.3 вам нужно использовать общие представления на основе классов

from django.conf.urls.defaults import *
from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^page1/', TemplateView.as_view(template_name="page1.html")),
    (r'^page2/', TemplateView.as_view(template_name="page2.html")),
)

P.S. Не забудьте создать файлы шаблонов page1.html и page2.html.

0 голосов
/ 23 мая 2011

Это более или менее то, что я использую:

urlpatterns = patterns('',
    (r'^$', 'news.views.page1'),
    (r'^page2/$', 'news.views.page2'),

)

только для вашего понимания: начало строки выражается как ^, конец как $. Так что ^ $ означает пустую строку. больше о регулярных выражениях: http://docs.python.org/library/re.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...