Django–使用相同的temp创建页面和对象

2024-04-16 21:01:00 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次来这里。在

我在Django遇到了一个小问题。我在写一个狗窝的网页,我有一个狗模型。这些狗出现在首页后,他们已经在管理页面创建。我需要它,以便在点击任何狗的头版图片后,你可以得到他们的个人资料(狗的名字在网址中)应该使用一个模板为他们每个人。在

以下是我在模型、视图和URL中的代码:

在模型.py在

class dog(models.Model):
    name = models.CharField(max_length=30, blank=False, null=True)
    main_image = models.ImageField(upload_to='dogs', blank=False, null=True)
    MALE = 'ML'
    FEMALE = 'FM'
    gender_list = (
        (MALE, 'male'),
        (FEMALE, 'female'),
        )
    gender = models.CharField(max_length=2, choices=gender_list, default='gender')
    description = models.TextField(max_length=500, blank=False, null=True)
    birthday = models.DateField(default=datetime.today, blank=True)
    slug = AutoSlugField(populate_from='name')

在视图.py在

^{pr2}$

在网址.py在

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^dogs/(?P<slug>[-\w]+)/$', views.dog_view, name='profile'),
    url(r'^mating/', views.mating_list, name='mating'),
    url(r'^admin/', admin.site.urls),
]

在主页.html在

{% for dog in dogs %}
    <a href="{% url 'profile' %}{{ dog.name }}">
    <div class="col-sm-4">
    <img class="img-circle img-responsive img-center" src="{{ dog.main_image.url }}" alt="">
    <h2 align=center>{{ dog.name }} 
        <p>{{ dog.description }}</p>
        </div>
    {% endfor %}

我觉得这应该是一件非常简单的事情,尽管我在互联网上搜索,却找不到如何可以让页面与狗对象一起自动创建。在

事先非常感谢。在


Tags: namepy模型falsetrueurlimgmodels
1条回答
网友
1楼 · 发布于 2024-04-16 21:01:00

试试这个:

views.py

def home(request):
    dog_list = dog.objects.all()
    template = 'home.html'
    return render(request, template, {'dogs' : dog_list})

def dog_view(request, slug):
    dog_view = get_object_or_404(dog, slug=slug)
    return render(request, 'profile.html', {'dog_view' : dog_view})

home.html

^{pr2}$

urls.py

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^dogs/(?P<slug>[-\w]+)/$', views.dog_view, name='profile'),
    url(r'^mating/', views.mating_list, name='mating'),
    url(r'^admin/', admin.site.urls),
]

相关问题 更多 >